VMware: fix datastore selection when token is returned

Use the token returned by the PropertyCollector to iterate
over the complete set of datastores and select the best
match based on the regular expression and the free space on
the datastore.

Closes-Bug: #1245564
Change-Id: If24c37a41bfa994a990aaa4a3e21d16b33aad42f
Make restore_instance pass the Instance object to compute manager

The compute/api code already receives and uses an object, but
converts it to a dict before sending it down. This plumbs the
instance object all the way through to the driver.

This also converts the old compute_api non-unity test to a
proper unit test in test_compute_api, per usual when converting
API calls to objects.

Related to blueprint compute-manager-objects
Related to blueprint virt-objects

Change-Id: Ic2d7d14c50d85556ed1170f7d026c9d84423c876
Deprecate conductor instance_type_get() and remove from VirtAPI

The flavor_get() in VirtAPI and instance_type_get() in conductor are
no longer needed by the virt drivers. This patch deprecates the
function in conductor's API and removes it everywhere else.

Related to blueprint compute-manager-objects

Change-Id: I782ee449df98a198f625b946c650ebff56711b8e
Make compute manager use InstanceInfoCache object for deletes

This patch makes compute manager use the InstanceInfoCache object
that is already in the instance to delete the cache while deleting
the instance.

It also fixes two tests that were still passing non-object
instance dicts to the method, which wasn't reflective of reality.

Related to blueprint compute-manager-objects

Change-Id: I829bd2d3828c01c18f3479375bea22e7f4be9d97
Merge "VMware: fix datastore selection when token is returned"
Merge "Make restore_instance pass the Instance object to compute manager"
Merge "Deprecate conductor instance_type_get() and remove from VirtAPI"
Merge "Make compute manager use InstanceInfoCache object for deletes"