Check instance on dest once during block migration

During live block migrations both pre_live_migration and
pre_block_migration check for the presence of the instance on
the destination and create the instance dir if it doesn't exist.

As a result the call to pre_block_migration always fails as
pre_live_migration has already created the instance dir on the
destination.

As it turns out the pre_block_migration call is completely
unnecessary. The libvirt driver is the only driver that uses the
call and the work it does can easily be done in the existing
pre_live_migration call. In order to streamline things we
completely remove the pre_block_migration call from all
drivers. Additionally we update the function definition for
pre_live_migration to pass needed disk info down to the
virt drivers.

Fixes bug: #1193359

(cherry picked from commit 659ec75eaf052742a6269e0aae258f1c874749f7)

Conflicts:
	nova/compute/manager.py
	nova/tests/test_libvirt.py
	nova/virt/libvirt/driver.py
	nova/virt/xenapi/driver.py

Change-Id: Id9dfe482db3471d6a1b9b6c7d59a5ddc48775d7f
Merge "Check instance on dest once during block migration" into stable/grizzly