Add supported_hv_specs to ComputeNode object

The compute_nodes table has a field called supported_instances
that is populated with data generated by the virt drivers
and used in the scheduler filter image_props_filter. There is
no corresponding field in the ComputeNode object. This change
adds a field called supported_hv_specs that maps to the
supported_instances database field.

The field is a list of specs for hypervisor properties
(architecture, hypervisor type and vm mode) that the host supports.
The change of name to supported_hv_specs is intended to reflect
this and is made now as a change in the object later on would
require a change in the object version.

Because the field has a defined structure a field type is defined
for supported_hv_specs. The field type is:

    ListOfObjectsField('HVSpec')

where HVSpec is a new object representing the a supported
hypervisor property combination.

Change-Id: I8b41465c4f3b391be38e16260a807d9d3fe60ec2
Merge "Add supported_hv_specs to ComputeNode object"