util: Forbid calling hash APIs from iterator callback
util: Forbid calling hash APIs from iterator callback

Calling most hash APIs is not safe from inside of an iterator callback.
Exceptions are APIs that do not modify the hash table and removing
current hash entry from virHashFroEach callback.

This patch make all APIs which are not safe fail instead of just relying
on the callback being nice not calling any unsafe APIs.

warewolf/libvirt,elmarco/libvirt,rmarwaha/libvirt,novel/fbsd-libvirt,siboulet/libvirt-openvz,rlaager/libvirt,wiedi/libvirt,crobinso/libvirt,wiedi/libvirt,rmarwaha/libvirt,soulxu/libvirt-xuhj,crobinso/libvirt,dumbbell/libvirt,fabianfreyer/libvirt,nertpinx/libvirt,usc-isi/libvirt,libvirt/libvirt,trainstack/libvirt,bjzhang/libvirt,emaste/libvirt,elmarco/libvirt,zippy2/libvirt,emaste/libvirt,rbu/libvirt,bjzhang/libvirt,danwent/libvirt-ovs,siboulet/libvirt-openvz,jfehlig/libvirt,andreabolognani/libvirt,novel/fbsd-libvirt,taget/libvirt,VenkatDatta/libvirt,olafhering/libvirt,cbosdo/libvirt,rbu/libvirt,cbosdo/libvirt,zippy2/libvirt,eskultety/libvirt,jardasgit/libvirt,warewolf/libvirt,agx/libvirt,rmarwaha/libvirt1,warewolf/libvirt,cbosdo/libvirt,emaste/libvirt,danwent/libvirt-ovs,foomango/libvirt,trainstack/libvirt,usc-isi/libvirt,soulxu/libvirt-xuhj,bjzhang/libvirt,soulxu/libvirt-xuhj,trainstack/libvirt,taget/libvirt,rmarwaha/libvirt1,bjzhang/libvirt,leilihh/libvirt,rlaager/libvirt,VenkatDatta/libvirt,iam-TJ/libvirt,shugaoye/libvirt,taget/libvirt,zhlcindy/libvirt-1.1.4-maintain,rlaager/libvirt,datto/libvirt,leilihh/libvirt,iam-TJ/libvirt,cbosdo/libvirt,danwent/libvirt-ovs,dumbbell/libvirt,datto/libvirt,iam-TJ/libvirt,crobinso/libvirt,jardasgit/libvirt,fabianfreyer/libvirt,eskultety/libvirt,jeckersb/libvirt,agx/libvirt,rmarwaha/libvirt,jeckersb/libvirt,jardasgit/libvirt,novel/fbsd-libvirt,foomango/libvirt,jfehlig/libvirt,olafhering/libvirt,rmarwaha/libvirt,siboulet/libvirt-openvz,eskultety/libvirt,libvirt/libvirt,warewolf/libvirt,cbosdo/libvirt,jardasgit/libvirt,zhlcindy/libvirt-1.1.4-maintain,libvirt/libvirt,jeckersb/libvirt,wiedi/libvirt,emaste/libvirt,dumbbell/libvirt,eskultety/libvirt,jeckersb/libvirt,fabianfreyer/libvirt,siboulet/libvirt-openvz,jeckersb/libvirt,elmarco/libvirt,dumbbell/libvirt,rbu/libvirt,andreabolognani/libvirt,rmarwaha/libvirt,trainstack/libvirt,novel/fbsd-libvirt,libvirt/libvirt,shugaoye/libvirt,novel/fbsd-libvirt,nertpinx/libvirt,emaste/libvirt,iam-TJ/libvirt,trainstack/libvirt,rmarwaha/libvirt1,danwent/libvirt-ovs,agx/libvirt,novel/fbsd-libvirt,shugaoye/libvirt,nertpinx/libvirt,iam-TJ/libvirt,datto/libvirt,taget/libvirt,rmarwaha/libvirt1,wiedi/libvirt,andreabolognani/libvirt,foomango/libvirt,jeckersb/libvirt,foomango/libvirt,kantai/libvirt-vfork,rbu/libvirt,rbu/libvirt,kantai/libvirt-vfork,elmarco/libvirt,soulxu/libvirt-xuhj,datto/libvirt,jeckersb/libvirt,zhlcindy/libvirt-1.1.4-maintain,kantai/libvirt-vfork,fabianfreyer/libvirt,novel/fbsd-libvirt,agx/libvirt,agx/libvirt,taget/libvirt,jfehlig/libvirt,leilihh/libvirt,usc-isi/libvirt,fabianfreyer/libvirt,eskultety/libvirt,leilihh/libvirt,nertpinx/libvirt,shugaoye/libvirt,trainstack/libvirt,zhlcindy/libvirt-1.1.4-maintain,leilihh/libvirt,emaste/libvirt,trainstack/libvirt,kantai/libvirt-vfork,VenkatDatta/libvirt,warewolf/libvirt,rlaager/libvirt,jardasgit/libvirt,wiedi/libvirt,rmarwaha/libvirt1,zippy2/libvirt,soulxu/libvirt-xuhj,jfehlig/libvirt,crobinso/libvirt,olafhering/libvirt,usc-isi/libvirt,wiedi/libvirt,danwent/libvirt-ovs,andreabolognani/libvirt,nertpinx/libvirt,siboulet/libvirt-openvz,iam-TJ/libvirt,dumbbell/libvirt,usc-isi/libvirt,wiedi/libvirt,shugaoye/libvirt,olafhering/libvirt,zippy2/libvirt,rmarwaha/libvirt,datto/libvirt,warewolf/libvirt,dumbbell/libvirt,iam-TJ/libvirt,bjzhang/libvirt,foomango/libvirt,VenkatDatta/libvirt,leilihh/libvirt,VenkatDatta/libvirt,warewolf/libvirt,elmarco/libvirt,novel/fbsd-libvirt,rmarwaha/libvirt1,zhlcindy/libvirt-1.1.4-maintain,rlaager/libvirt,andreabolognani/libvirt,kantai/libvirt-vfork,novel/fbsd-libvirt,emaste/libvirt