virsh: Check for existence of storage before undefining the domain
virsh: Check for existence of storage before undefining the domain

When undefining a domain and removing associated storage using "virsh
undefine --storage" the domain was at first undefined and after that the
storage removal proces was started. If the user specified an invalid
disk to remove, the error could not be corrected.

This patch moves enumeration and filtering of volumes that should be
removed before the domain is undefined, but the removal process is still
kept after the domain has been undefined.

emaste/libvirt,cbosdo/libvirt,jeckersb/libvirt,iam-TJ/libvirt,zippy2/libvirt,VenkatDatta/libvirt,agx/libvirt,rlaager/libvirt,bjzhang/libvirt,taget/libvirt,agx/libvirt,jeckersb/libvirt,jardasgit/libvirt,bjzhang/libvirt,fabianfreyer/libvirt,taget/libvirt,shugaoye/libvirt,jfehlig/libvirt,jeckersb/libvirt,libvirt/libvirt,elmarco/libvirt,crobinso/libvirt,crobinso/libvirt,rlaager/libvirt,jeckersb/libvirt,bjzhang/libvirt,crobinso/libvirt,iam-TJ/libvirt,novel/fbsd-libvirt,nertpinx/libvirt,zhlcindy/libvirt-1.1.4-maintain,trainstack/libvirt,VenkatDatta/libvirt,iam-TJ/libvirt,taget/libvirt,jardasgit/libvirt,nertpinx/libvirt,zippy2/libvirt,novel/fbsd-libvirt,taget/libvirt,emaste/libvirt,agx/libvirt,rlaager/libvirt,novel/fbsd-libvirt,zhlcindy/libvirt-1.1.4-maintain,wiedi/libvirt,libvirt/libvirt,shugaoye/libvirt,jfehlig/libvirt,fabianfreyer/libvirt,emaste/libvirt,datto/libvirt,novel/fbsd-libvirt,libvirt/libvirt,datto/libvirt,cbosdo/libvirt,andreabolognani/libvirt,eskultety/libvirt,wiedi/libvirt,jardasgit/libvirt,olafhering/libvirt,datto/libvirt,jardasgit/libvirt,warewolf/libvirt,novel/fbsd-libvirt,wiedi/libvirt,zippy2/libvirt,warewolf/libvirt,andreabolognani/libvirt,eskultety/libvirt,emaste/libvirt,emaste/libvirt,jfehlig/libvirt,olafhering/libvirt,trainstack/libvirt,eskultety/libvirt,jfehlig/libvirt,elmarco/libvirt,warewolf/libvirt,trainstack/libvirt,cbosdo/libvirt,eskultety/libvirt,olafhering/libvirt,datto/libvirt,wiedi/libvirt,iam-TJ/libvirt,zhlcindy/libvirt-1.1.4-maintain,trainstack/libvirt,fabianfreyer/libvirt,cbosdo/libvirt,shugaoye/libvirt,agx/libvirt,crobinso/libvirt,bjzhang/libvirt,agx/libvirt,libvirt/libvirt,rlaager/libvirt,siboulet/libvirt-openvz,shugaoye/libvirt,siboulet/libvirt-openvz,eskultety/libvirt,siboulet/libvirt-openvz,bjzhang/libvirt,nertpinx/libvirt,wiedi/libvirt,warewolf/libvirt,elmarco/libvirt,emaste/libvirt,nertpinx/libvirt,novel/fbsd-libvirt,jardasgit/libvirt,VenkatDatta/libvirt,iam-TJ/libvirt,elmarco/libvirt,elmarco/libvirt,datto/libvirt,jeckersb/libvirt,emaste/libvirt,iam-TJ/libvirt,taget/libvirt,andreabolognani/libvirt,zhlcindy/libvirt-1.1.4-maintain,fabianfreyer/libvirt,trainstack/libvirt,andreabolognani/libvirt,warewolf/libvirt,warewolf/libvirt,jeckersb/libvirt,warewolf/libvirt,trainstack/libvirt,trainstack/libvirt,VenkatDatta/libvirt,wiedi/libvirt,olafhering/libvirt,jeckersb/libvirt,wiedi/libvirt,iam-TJ/libvirt,novel/fbsd-libvirt,shugaoye/libvirt,novel/fbsd-libvirt,nertpinx/libvirt,rlaager/libvirt,fabianfreyer/libvirt,andreabolognani/libvirt,zippy2/libvirt,VenkatDatta/libvirt,novel/fbsd-libvirt,siboulet/libvirt-openvz,cbosdo/libvirt,siboulet/libvirt-openvz,zhlcindy/libvirt-1.1.4-maintain