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
Merge "Make swap_volume code path use BDM objects"