Make swap_volume code path use BDM objects

This patch makes the swap_volume compute manager method use new-world
BDM objects internally. Sine this was the last place that used the
helper method _get_instance_volume_bdm, this method is now removed as
it's functionality is completely supported by the new-world objects
interface.

We also add the instance_uuid parameter to the BlockDeviceMapping
get_by_volume_id method, so that we can narrow the possible race window
when swapping volumes call RPC is delayed for a long time and the cloud
administrator re-assigns the volume. In addition, we clean up calls to
this method throughout the codebase to use key word arguments properly.

Part of blueprint: icehouse-objects
Part of blueprint: clean-up-legacy-block-device-mapping

Change-Id: I2e36180876872e756b55171e4903ec3cdfa1d1aa
Move instance_resize code paths to BDM objects

Make both resize_instance and confirm_resize compute manager methods use
BDM objects. This is achieved by moving the helper method
_terminate_volume_connections to use BDM objects.
This patch also avoids unnecessary calls to conductor as now all helper
methods used allow for passing the already dug up BDM list.

Part of blueprint: icehouse-objects
Part of blueprint: clean-up-legacy-block-device-mapping

Change-Id: Idf370609e23aff45e18a67c76768ba80511c2801
Move _poll_volume_usage periodic task to BDM objects

This patch makes the _poll_volume_usage compute service periodic task
use BDM objects internally. It also moves a single instance query to
objects as a side effect. Also adds a missing test for the manager
helper method _get_host_volume_bdms.

Part of blueprint: icehouse-objects

Change-Id: I085fddfbe5872c0b2b044106c0d2507fd4ee32d8
Merge "Make swap_volume code path use BDM objects"
Merge "Move instance_resize code paths to BDM objects"
Merge "Move _poll_volume_usage periodic task to BDM objects"