Migrate-volume-block-migration

Add Support for Volume migration during Live (block) migration
External Specification:

Add --block-device-mapping parameter to "nova live-migration --block_migrate" command.

The entire format of the command will be like this

`nova live-migration --block-migrate --block-device-mapping vda=1:::0, --block-device-mapping vdb=...(all attached EBS volumes)  `

Administrator has to specify --block-device-mapping parameters for all volumes attached to the instance.

Follow the existing format to specify block device mapping

`--block-device-mapping =:::`

: device name referred from the instance

: destination volume uuid (Note: MUST specify an existing volume, must be same size to the source volume)

: N/A

: N/A or size of the volume

: 0:Do not delete the source volume, 1:delete the source volume

Note: Volumes on the destination volume node need to be created before the migration takes place. The migration could ensure copying the data onto the destination volumes.

Example:
 * Instance1 has two cinder volumes (created on cinder-node1) attached at vol-a on vdc (1gb) ,vol-b on vdb (3gb) (compute-node1).
 * Instance1 is to be migrated to compute-node2.
 * Create two (1gb vol-c, 3gb vol-d) volumes on cinder-node2.
 * run : "nova live-migration --block-migrate --block-device-mapping vda=::1:0 vdb=::3:0  compute-node2.
 * All data in vol-a is copied to vol-c by nova/libvirt's migrateToURI.
 * All data in vol-b is copied to vol-d by nova/libvirt's migrateToURI.