VMware: spawn refactor - DatastorePath class

Part of spawn refactor work to consolidate a lot of the datastore path
manipulation code. The DatastorePath class is a simpler version of a
class of the same name in earlier versions of
https://review.openstack.org/#/c/87002, and is intentionally limited in
the ways that DatastorePath objects can be constructed. No attempts are
made to ensure that the datastore, directories and files referenced in
these objects are valid on the remote system.

partial blueprint vmware-spawn-refactor

Change-Id: Id65d0308d32835048229e7a3d98b84af2b13583c
VMware: remove dsutil.split_datastore_path

The functionality of split_datatore_path has been subsumed by
the DatastorePath utility class, so remove it and convert
all callers to use the latter.

Change-Id: I07a2cfe15fccaca4aee25bc43157e6c604b91831
VMware: spawn refactor - Datastore class

Introduces the start of a simple Datastore class to encapsulate relevant
data of a datastore.

partial blueprint vmware-spawn-refactor

Change-Id: Ic0ee6cdd47e7cbd66cf456776c61d0b85fb51a0a
Add API schema for v2.1/v3 remote_consoles API

By defining the API schema, it is possible to separate the validation
code from the API method. The API method can be more simple.
In addition, a response of API validation error can be consistent for
the whole Nova API.

Partially implements blueprint v3-api-schema

Change-Id: Icdb1f87903e3c4345e6533c08b2f2d2f9d36316e
libvirt: add '_' prefix to some get_host_* methods

The get_host_uuid, get_host_capabilities and get_host_cpu_for_guest
methods are all internal helpers so should have a '_' prefix to
indicate they are not part of public virt driver API.

Related-bug: #1333219
Change-Id: Ice22f52ef1f4ec0b950b5fdf303499ea5c2ba7be
Merge "VMware: spawn refactor - DatastorePath class"
Merge "VMware: remove dsutil.split_datastore_path"
Merge "VMware: spawn refactor - Datastore class"
Merge "libvirt: add '_' prefix to some get_host_* methods"
Merge "Add API schema for v2.1/v3 remote_consoles API"