When performing QEMU monitor commands, libvirt will return StatusOK even
when the underlying QEMU process fails to perform the command.
This modifies Run() to check for QEMU errors.
I'm not entirely happy with the hacky modifications to the test library
to handle this scenario. The test framework is in obvious need for a
complete refactor. For now this will have to work.
This splits out the mock libvirt server for testing within
other packages. Constants from the main libvirt package
have been moved to a separate package, constants, for shared access.