VMware: Implement retype for VMDK driver

This patch adds support for retype operation in the VMDK driver.

The VMDK driver uses the extra spec keys 'vmware:vmdk_type' and
'vmware:storage_profile' to determine the disk provisioning type
and storage policy of the backing VM. Currently it is not possible
to change the disk provisioning type or storage policy after volume
creation. With retype support, user can change the disk provisioning
type and storage policy by changing the volume's type to another type
with extra spec keys set to desired values.

Closes-Bug: #1275682
Partial-Bug: #1288254

Change-Id: If4b868af7b91373b2b36fd5cd2f0dda12d604d99
Merge "VMware: Implement retype for VMDK driver"