VMware: Consolidate fake_session in test_(vm|ds)_util

Both test_vm_util and test_ds_util contained a fake_session class.
The implementation of test_ds_util.fake_session was irrelevant to
almost all of its users, which was confusing.

fake_session from these 2 modules is consolidated into fake. We now
have fake.FakeSession(), which expects _call_method and _wait_for_task
to be mocked, and fake.FakeObjectRetrievalSession(), which is a
utility object for faking the return of an object list.

The implementation details of test_ds_util.fake_session have been
pushed into test_file_exists and test_file_exists_fails, where they
belong.

Change-Id: I168af46d28629c8b2cf8adae856f0f66ae3ee922
VMware: consolidate datastore code

This is largely a straight-forward code movement.
Given that we have utility classes/code in ds_util.py, it makes sense
to move the remaining datastore-related code in vm_util.py to ds_util.py
as well.

partial blueprint vmware-spawn-refactor
Change-Id: I2ede44306acf91a13f2ff6f0d8f210642a1c1e69
libvirt: speed up _get_disk_over_committed_size_total method

Switch the _get_disk_over_committed_size_total method to
use the new list_instance_domains method.

Blueprint: libvirt-domain-listing-speedup
Change-Id: I4ef00ea5584eda14c4781d3fbf8bb737f3abdc90
Merge "VMware: Consolidate fake_session in test_(vm|ds)_util"
Merge "libvirt: speed up _get_disk_over_committed_size_total method"
Merge "VMware: consolidate datastore code"