Speedup listing of domains in libvirt driver

The libvirt driver currently uses the legacy libvirt APIs
for getting lists of domains. These are inefficient and
prone to race conditions, so have been replaced by much
better designed APIs.

Change-Id: Ie4cc67d0e28f711d03cf7588a7fd956cc52bb054
Merge "Speedup listing of domains in libvirt driver"