Libvirt hardware policy from libosinfo

When launching an instance Nova needs to make decisions about how to
configure the virtual hardware. Currently these decisions are often
hardcoded, or driven by nova.conf settings, and sometimes by glance
image properties. The goal of this feature is to allow the user to
specify the guest OS type and then drive decisions from this fact,
using the libosinfo database.

Change-Id: I49ba47c99b9deb6b1ef5707329075713be33890d
Blueprint: libvirt-hardware-policy-from-libosinfo