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 "virt: add helper module for determining VCPU topology"