libvirt: virt rescue method now supports objects

Commit a37a96fd13b933123e80ad24e37fc37d73c16059 ensured
that the compute API and manager are now getting objects
for the rescue method.

This patch adds support to the virt driver code.

Change-Id: I2ae89f937b1983a2b0599e2eded343aa8358dbba
libvirt: virt unrescue method now supports objects

Commit 65ad230af5ece020822fa963dd30fd641a54ae91 ensured
that the compute API and manager are now getting objects
for the unrescue method.

This patch adds support to the virt driver code.

Change-Id: I5cca3fa997042b164c21fe2a13c2311f4b18ec06
virt: add helper module for determining VCPU topology

Introduce a nova/virt/hardware.py module which will container
helper APIs related to instance hardware configuration, for
use by virt driver impls. The first APIs added provide a
way for the virt driver to determine what VCPU topology to
expose to guest instances based on the image metadata and
flavor extra specs.

Blueprint: virt-driver-vcpu-topology
Change-Id: I419cd70497c3a4c3f18e77d75cb7e09c0b724465
Merge "libvirt: virt unrescue method now supports objects"
Merge "libvirt: virt rescue method now supports objects"
Merge "virt: add helper module for determining VCPU topology"