Use session in cinderclient

Use the common session loading parameters and the session object for
talking to cinder.

There are some related changes in this patch.

Firstly auth_token middleware now provides an authentication plugin that
can be used along with the session object to make requests under the
user's authentication. This will largely replace the information
required on the context object.

This authentication plugin is not serializable though and so it cannot
be transferred over RPC so we introduce a simple authentication plugin
that reconstructs the required information from the context.

When talking to cinder we now create a global session object (think of
this like keeping open a connection pool object) and use the
authentication plugin to send requests to cinder.

I also condense the cinder tests as they are largely copied and pasted
between v1 and v2 and this solves fixing them in two places.

DocImpact: Renames cinder's timeout, insecure and CA certificates
parameters to the parameters used by the common session object. Adds
options for using client certificates with connection.

Change-Id: I7afe604503b8597c16be61d2a66a10b94269a219
VMware: remove ESX support for getting resource pool

The ESX driver is no longer supported. We should only return the
resource pool for the cluster.

In order to test this the patch had to update the test_vmops to
ensure that a cluster was used.

The patch also drops the method get_mo_id_from_instance which is
no longer used.

Change-Id: I9d99a5be58ef5a2a7d41dfd488ac24f38d2c79d3
Merge "VMware: remove ESX support for getting resource pool"
Merge "Use session in cinderclient"