baremetal: stop deployment if block devices are not available

In this case deploy-helper should abort immediately and make sure
that the instance's status set to ERROR.

Closes-Bug: 1251525
Change-Id: Ic09f171edb0fe3a449c7adfe622ab48709c73252
Optimize libvirt live migration workflow at source

During live migration, after instance migrated to destination, we
call Hypervisor destroy to clean the instance, this can be omitted
because it doesn't exist in source server already. This patch changes
cleanup to a public method to driver, split instance destroy to two
step:

1. destroy instance in the Hypervisor
2. cleanup instance resources(block device, network)

Change-Id: I65e711c03fee7342b1e2bc4f9459baae7729f911
Closes-bug: 1240820
Merge "Optimize libvirt live migration workflow at source"
Merge "baremetal: stop deployment if block devices are not available"