More fixes for monitoring VirtualDomain without libvirtd

We recently added the ability for VirtualDomain to monitor a vm even if libvirtd has gone down.  The monitor is performed by inspecting the pid associated with the emulator that launched the vm.  We determine the emulator binary that is in use by searching for it in the vm's config.

It turns out the emulator is not required to be in the config, but will be assigned after the vm domain is created in libvirt. Because of this, we must cache the domain's emulator after it is created in order to be able to monitor the vm if libvirt later goes down and the vm's config does not contain the emulator binary.

I've also included some fixes to how we perform logging without pacemaker or libvirtd being present.