Move compute API is_volume_backed to BDM objects

This patch makes is_volume_backed_instance use block device objects. It
is a first step towards using new-world BDM objects in code paths that
do not need to send them over RPC.

It will also be the way to go forward when getting rid of legacy block
device usage anywhere outside of the v2 API.

This patch also moves some of the uses of the compute API
_get_bdm_image_metadata method over the block device objects list class
root_metadata method, which has some of the code duplicated. The
duplication is however necessary, since we still need to be able to deal
with old-style block devices until we deprecate the v2 API.

Related to blueprint: icehouse-objects
Related to blueprint: clean-up-legacy-block-device-mapping

Change-Id: Ibfb120ccdeb89291059ffe355957f386aec75007
Merge "Move compute API is_volume_backed to BDM objects"