VMDK copy_image_to_volume and copy_volume_to_image

Implemented copy_image_to_volume that creates a new volume backing (vm) and
copies over the vmdk file from the glance image. Only glance images of disk
format 'vmdk' can be used to create a volume using this driver.

Also implemented copy_volume_to_image that creates a new glance image using
the volume's vmdk file. The steps involved are to take a snapshot of volume
vmdk, take a copy of this read only file and upload to glance.

Cleaned up docstrings as pointed out in earlier reviews.

Added timeout to avoid blocking wait on read/write threads and also fixed a
bug to upload image from copy of vmdk instead of from original vmdk during
upload to glance.

Implements: blueprint vmware-vmdk-cinder-driver
Change-Id: I00d22861f4e01ae0862dbf4b60af314c475b7d38
Merge "VMDK copy_image_to_volume and copy_volume_to_image"