conf: Introduce virStoragePoolObjSourceMatchTypeDEVICE
conf: Introduce virStoragePoolObjSourceMatchTypeDEVICE

Refactor virStoragePoolObjSourceFindDuplicate into smaller units
separated by the "supported" pool source type. The ISCSI, FS,
LOGICAL, DISK, and ZFS pools can use "<source>... <device='%s'/>...
</source>".

Alter the logic slightly to return the matching pool or NULL rather
than setting matchpool = pool and break.  Easier to read that way.

nertpinx/libvirt,fabianfreyer/libvirt,crobinso/libvirt,jardasgit/libvirt,VenkatDatta/libvirt,VenkatDatta/libvirt,VenkatDatta/libvirt,datto/libvirt,libvirt/libvirt,fabianfreyer/libvirt,crobinso/libvirt,eskultety/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,olafhering/libvirt,nertpinx/libvirt,datto/libvirt,jardasgit/libvirt,andreabolognani/libvirt,olafhering/libvirt,datto/libvirt,datto/libvirt,fabianfreyer/libvirt,jfehlig/libvirt,zippy2/libvirt,zippy2/libvirt,olafhering/libvirt,datto/libvirt,zippy2/libvirt,olafhering/libvirt,jfehlig/libvirt,andreabolognani/libvirt,jardasgit/libvirt,jfehlig/libvirt,libvirt/libvirt,nertpinx/libvirt,zippy2/libvirt,VenkatDatta/libvirt,jardasgit/libvirt,libvirt/libvirt,eskultety/libvirt,andreabolognani/libvirt,fabianfreyer/libvirt,nertpinx/libvirt,eskultety/libvirt,crobinso/libvirt,VenkatDatta/libvirt,eskultety/libvirt,andreabolognani/libvirt,jfehlig/libvirt,crobinso/libvirt,eskultety/libvirt,libvirt/libvirt,andreabolognani/libvirt,nertpinx/libvirt