This patch assumes that the correct behavior for instance rebuild is to
maintain attached volumes across a rebuild operation.
Two important changes are:
1) Detaching all volumes during a rebuild so that they won't be 'in-use'
when prep_block_devices is called to reattach them.
2) xenapi: Allowing additional volumes, not just root volumes, to be
attached before boot. To handle this, we cycle through all
block-device-mappings, not just the root-device, create the VDI, and
later, create the VBD.
Small changes include:
* Using `connection_data` instead of `dev_params` (to match other parts of
the code base)
* Renaming `get_vdis_for_boot_from_vol` to `get_vdi_uuid_for_volume` to
reflect its more general and simpler semantics.
Fixes bug 1071547
Change-Id: Ie54a16be4bae2a718ed7d506f32777d0847b9089