Fix race in resource tracker

Fix a race in resource tracker where usage can get under reported if the
audit process runs after an instance gets set to vm_state=DELETED, but
before the DB record itself is deleted.

bug 1095403

Change-Id: I47943d12155a6484c6cb3adb31dfa4db0191cf26
Move instance_get_*() to conductor

This patch adds conductor support for instance_get_all_by_filters(),
and supports the following APIs through that method:

 - instance_get_all()
 - instance_get_all_by_host()
 - instance_get_all_by_filters()

Further, it adds support for the following APIs:

 - instance_get_all_hung_in_rebooting()
 - instance_get_active_by_window()

It also makes compute/manager use conductor for these operations, with
one exception. Currently, ComputeManager.init_host () lists all
instances associated with the host, which may happen before a conductor
service is available. This will be handled separately due to the
sequencing concerns.

Related to bp/no-db-compute-manager

Change-Id: I0dd346fd632aa15cd301386bc392502b95709529
Move instance_destroy() to conductor

This patch moves compute/manager's use of db.instance_destroy()
to the conductor.

Related to blueprint no-db-compute-manager

Change-Id: I72ee249ee2842a453fdf225414a03527448d2a26
Move instance_info_cache_delete() to conductor

This patch moves compute/manager's use of
instance_info_cache_delete() to conductor.

Related to blueprint no-db-compute-manager

Change-Id: I4e7f2d95ddc26c0dbea1a644ca23026339ce720e
Move instance_type_get() to conductor

This patch moves compute/manager's use of instance_type_get()
to the conductor.

Related to blueprint no-db-compute-manager

Change-Id: Ib70dabc54ffeb199dd2fd4f597b9afc22d2511bf
Merge "Move instance_get_*() to conductor"
Merge "Move instance_destroy() to conductor"
Merge "Move instance_info_cache_delete() to conductor"
Merge "Fix race in resource tracker"
Merge "Move instance_type_get() to conductor"