VMware: create datastore utility functions

The patch moves datastore interfaces from vmops and vm_util
to a separate file - ds_util.

This is part of the blueprint vmware-image-cache-management.

In the past the datastore methods would poll the task
to determine that it had completed. This has beem addressed by
making the driver _poll_task return the task information.

The patch set also solves the following bugs by checking if
the FileAlreadyExistsException exception is raised. This could
be due to another process or thread creating the file.

Closes-bug: 1230047
Closes-bug: 1254128

Change-Id: I788e33dbcb3dedc41831b976137607274b1c02ca
Merge "VMware: create datastore utility functions"