virsh: add support for domain XML validation
virsh: add support for domain XML validation

The 'virsh edit' command gets XML validation enabled by default,
with a --skip-validate option to disable it. The 'virsh define'
and 'virsh create' commands get a --validate option to enable
it, to avoid regressions for existing scripts.

The quality of error reporting from libxml2 varies depending
on the type of XML error made. Sometimes it is quite clear
and useful, other times it is obscure & inaccurate. At least
the user will see an error now, rather than having their
XML modification silently disappear.

libvirt/libvirt,olafhering/libvirt,fabianfreyer/libvirt,jfehlig/libvirt,nertpinx/libvirt,elmarco/libvirt,crobinso/libvirt,zippy2/libvirt,datto/libvirt,jfehlig/libvirt,shugaoye/libvirt,taget/libvirt,fabianfreyer/libvirt,eskultety/libvirt,rlaager/libvirt,crobinso/libvirt,datto/libvirt,eskultety/libvirt,andreabolognani/libvirt,shugaoye/libvirt,shugaoye/libvirt,jardasgit/libvirt,libvirt/libvirt,fabianfreyer/libvirt,VenkatDatta/libvirt,VenkatDatta/libvirt,agx/libvirt,eskultety/libvirt,elmarco/libvirt,taget/libvirt,libvirt/libvirt,taget/libvirt,taget/libvirt,taget/libvirt,rlaager/libvirt,crobinso/libvirt,zippy2/libvirt,rlaager/libvirt,datto/libvirt,olafhering/libvirt,VenkatDatta/libvirt,andreabolognani/libvirt,olafhering/libvirt,rlaager/libvirt,eskultety/libvirt,fabianfreyer/libvirt,rlaager/libvirt,nertpinx/libvirt,olafhering/libvirt,zippy2/libvirt,jfehlig/libvirt,nertpinx/libvirt,jardasgit/libvirt,andreabolognani/libvirt,agx/libvirt,nertpinx/libvirt,jfehlig/libvirt,libvirt/libvirt,shugaoye/libvirt,fabianfreyer/libvirt,nertpinx/libvirt,agx/libvirt,elmarco/libvirt,andreabolognani/libvirt,shugaoye/libvirt,andreabolognani/libvirt,datto/libvirt,agx/libvirt,jardasgit/libvirt,jardasgit/libvirt,VenkatDatta/libvirt,zippy2/libvirt,VenkatDatta/libvirt,datto/libvirt,elmarco/libvirt,jardasgit/libvirt,agx/libvirt,eskultety/libvirt,elmarco/libvirt,crobinso/libvirt