Make compute_api use Instance.create()

This makes compute_api use Instance.create() instead of the
db.instance_create() API.

Related to blueprint compute-api-objects

Change-Id: I2ca1232fd9e12ca2fb57cd2acaa27ebd8aaa6dbe
Add Instance.destroy()

This adds destroy support to Instance.

Related to blueprint compute-api-objects

Change-Id: I5622bd98c9fb6d880b3e5ebfbc60f8c4f190c8e5
Make compute_api use Instance.destroy()

This makes the places in compute_api that call db.instance_destroy()
use the object.

Related to blueprint compute-api-objects

Change-Id: I6cb0704e8c5420c2aaa4392bbf20c48941e2e044
Add delete() operation to InstanceInfoCache

This adds the trivial delete() operation to InstanceInfoCache
and makes the _local_delete() path in compute_api use it.

Related to blueprint compute-api-objects

Change-Id: Iac4c36c1158ca98f3a2ab011f151ccd2a9ebeac0
Add basic InstanceAction object

This adds a basic InstanceAction object with the ability to provide
the functionality needed to satisfy compute_api's use of actions.
The ability to finish an action by uuid in a sort of out-of-body
way (as it is done now) is provided, as well as an instance method
for a (hopefully) future scenario where actions are started, carried,
and finished when appropriate.

Related to blueprint compute-api-objects

Change-Id: I094645b065575bbbce35ed18bf6901cbbf4e383d
Make compute_api use InstanceAction object

This makes the compute_api instance action code use objects instead
of direct-to-database calls. This should open the door for deprecating
some conductor proxies for compute_api that help compute manager
avoid the database hit required for the instance action to complete.

Related to blueprint compute-api-objects

Change-Id: If622d8079ca2897b0d5094e9341e29cde7c1ff59
Deprecate conductor's compute_stop() interface

We no longer need to run stop() actions through conductor to avoid
the instance action database hit that compute_api.stop() would
entail. This deprecates that interface and makes the manager use
the compute_api method directly.

Related to blueprint compute-api-objects

Change-Id: I11ab8fadb3e417b5256504699603e8111ed69f7f
Deprecate conductor's compute_reboot() interface

We no longer need to run reboot() actions through conductor to avoid
the instance action database hit that compute_api.stop() would
entail. This deprecates that interface and makes the manager use
the compute_api method directly.

Related to blueprint compute-api-objects

Change-Id: I86c70fb33b023d55d88a64de1fa6c39c10fd7b01
Merge "Make compute_api use Instance.create()"
Merge "Add Instance.destroy()"
Merge "Make compute_api use Instance.destroy()"
Merge "Add delete() operation to InstanceInfoCache"
Merge "Add basic InstanceAction object"
Merge "Make compute_api use InstanceAction object"
Merge "Deprecate conductor's compute_stop() interface"
Merge "Deprecate conductor's compute_reboot() interface"