This refactors all of the necessary functions in libvirt-cim for the new
API. Things only got cleaner, I think. I also found a substantial number
of memory leaks in the process, which are fundamentally fixed by the new
API which I think is a validation of it as "the right thing to do". All
required changes should have been easily spotted by the compiler, but some
testing would be good.
Tip: To find the leaks, note every time we convert a variable from
char * to const char * and don't remove a subsequent free() call :)