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
Change-Id: Id9dfe482db3471d6a1b9b6c7d59a5ddc48775d7f