Libvirt driver class refactoring

The libvirt driver.py class is growing ever larger and more
complicated. There are circular dependencies between this
class and other libvirt classes. This work aims to split
some of the functionality out into new classes

Change-Id: I50ec5334b2cd1f6bb1f16f223ac065b411a847f5
Merge "Libvirt driver class refactoring"