hyperv: Silence clang alignment warnings in serialization code
hyperv: Silence clang alignment warnings in serialization code

Slight refactor of the WMI serialization code to minimize mixing
openwsman and libxml2 APIs that triggered clang alignment warnings.

The only usage of libxml2 APIs now is in creating CDATA blocks,
because the openwsman API does not provide that functionality. The
clang alignment warning in this case is silenced by casting to a
void pointer first.

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