add support for host driver cleanup during shutdown

Provides a place for any drivers to potentially
setup graceful-shutdown code.

VMware driver's proper driver-lifecycle code included.
This is critical in environments where the the vmware
driver is setup and torn down at high frequency.

Prevents run-away vSphere by closing stateless
HTTP management sessions gracefully.

Change-Id: I67a91613643540243ab1210b333ed8e121f05802
related to bug: 1262288
Closes-bug: 1292583
Remove aggregate_get_by_host() from conductor API

The aggregate_get_by_host() method of the conductor API is no longer
used.  Remove it from the client code and leave a note on the manager
side for it to be removed in the next major version bump.

This is cleanup, but part of a blueprint being completed during
feature freeze.  It allows us to drop more code in the rpc version
bump.

Part of blueprint rpc-major-version-updates-icehouse

Change-Id: Ib28fab80adbe796ecaded040d4c33ea05659e509
Remove instance_get() from conductor API

The instance_get() method of the conductor API is no longer
used.  Remove it from the client code and leave a note on the manager
side for it to be removed in the next major version bump.

This is cleanup, but part of a blueprint being completed during
feature freeze.  It allows us to drop more code in the rpc version
bump.

Part of blueprint rpc-major-version-updates-icehouse

Change-Id: Id2ed674c2d4c491bc7b0b0c79a64bef84fb05db4
Remove migration_update() from conductor API

The migration_update() method of the conductor API is no longer
used.  Remove it from the client code and leave a note on the manager
side for it to be removed in the next major version bump.

This is cleanup, but part of a blueprint being completed during
feature freeze.  It allows us to drop more code in the rpc version
bump.

Part of blueprint rpc-major-version-updates-icehouse

Change-Id: Id385255cbfff8c7a42a9a1551044746b7f6344bd
Fix sqlalchemy utils test cases for SA 0.9.x

To be able to run migration scripts on SQLite we've been providing
a few workarounds for sqlalchemy-migrate and SQLAlchemy 0.7.x and
0.8.x branches in the form of sqlalchemy utils module. In 0.9.x
releases a few workarounds become obsolete (due to improvements made
to schema reflection for SQLite in SA), but our test cases still
expect SA to raise exceptions in several cases.

As long as our utils can work well with 0.9.x SA releases with our
workarounds and without them, we can just skip the test cases
expecting exceptions to be raised when SA version > 0.9.0 is used
and continue to run them for older releases of SA.

Closes-Bug: #1292284

Change-Id: Ie6cdb017b64b393cff43957b2047b5aae142d54e
Remove block_device_mapping_destroy() from conductor API

The block_device_mapping_destroy() method of the conductor API is no
longer used.  Remove it from the client code and leave a note on the
manager side for it to be removed in the next major version bump.

This is cleanup, but part of a blueprint being completed during
feature freeze.  It allows us to drop more code in the rpc version
bump.

Part of blueprint rpc-major-version-updates-icehouse

Change-Id: Iffdb6f77cd611918ca27f64162c1b4f13a46815b
Merge "Fix sqlalchemy utils test cases for SA 0.9.x"
Merge "add support for host driver cleanup during shutdown"
Merge "Remove aggregate_get_by_host() from conductor API"
Merge "Remove instance_get() from conductor API"
Merge "Remove migration_update() from conductor API"
Merge "Remove block_device_mapping_destroy() from conductor API"