Fixes datastore selection bug

Currently the vmwareapi drivers will only select the first
available datastore it finds, even when there are other
datastores with capacity, it will fill one datastore completely
and then die.

Closes-bug: 1227825

Change-Id: I24f85114ea3f014950c27c0c91a6be352990d263
(cherry picked from commit 86135cda6c42f8785aeb0ff2861abac5f8785a59)

Conflicts:

	nova/tests/test_vmwareapi_vm_util.py
	nova/virt/vmwareapi/vm_util.py

(cherry picked from commit f2a8864756ef305f150686e549e551c03a567893)

Conflicts:
	nova/tests/test_vmwareapi_vm_util.py
fix oversight in backport c4cdbbddd46cbdb82df0e26240487007f41040db