Fix snapshot failure with VMwareVCDriver

The snapshot operation was failing because it calls
VirtualDiskManager.CopyVirtualDisk with a destination disk spec, which
is not supported when called through VC. The fix is to not supply a spec
when calling through VC, in which case the disk is consolidated and
copied without type transformation.

While the fix is to use spec-less CopyVirtualDisk in VC, doing so in ESX
too will result in unintended transformation (because it ESX will
default to busLogic/preallocated), so the use of the spec was retained
in ESX-mode instead.

Another issue found and fixed is that the name of the snapshot image is
incorrectly set when uploading to glance.

The following tempest tests are now unbroken against the VC and ESX
nodes:
  tempest.api.compute.images.
     test_images_oneserver.ImagesOneServerTest{JSON,XML}.
        test_create_delete_image
        test_create_second_image_when_first_image_is_being_saved
        test_delete_image_of_another_tenant
     test_list_image_filters
  tempest.api.compute.test_authorization.AuthorizationTestJSON
  tempest.api.compute.test_authorization.AuthorizationTestXML

Fixes bug 1184807

(cherry picked from commit 61bfac8881dd6a71a572a54b2ea1680248fc4bc4)

Conflicts:

        nova/tests/virt/vmwareapi/test_vmwareapi.py
        nova/virt/vmwareapi/driver.py
        nova/virt/vmwareapi/vmops.py

Change-Id: I08717a06f23dd1abfd5ccae7606a7ecb1453dc8c
Merge "Fix snapshot failure with VMwareVCDriver" into stable/grizzly