Use connection retrying from keystoneclient

Keystoneclient added retrying requests on connection errors in 0.11. We
should use this in preference to our own scheme.

This is not exactly the same as the existing code. The existing code
catches any non-HTTP exceptions and retries the request. This has been a
problem in the past for example with AttributeErrors and such being
retried that will never succeed.

This implementation that will only retry when you get an actual
connection error is more correct.

I also remove the NetworkError exception. This is only used internally
and it is easier to simply catch the connection exceptions where the
NetworkError used to be.

Change-Id: I6c3c971ea1964cfbf50519e8faf0a0c7dff47598
Use an adapter in IdentityServer

Now that we are using plugins we can use the adapter to set the default
values on requests rather than push it through _http_request.

Remove the session from the base class. The only reference to it we need
will be in the adapter and maintained by the IdentityServer.

Removed one test assertion. It only seems to test that a config value is
passed through the class and the final location for this is getting
nested deeper and deeper. If the identity_uri config value wasn't being
passed we would have a lot more test failures so I believe it's safe to
remove.

Change-Id: Id092e8f42f843dbfbc1c30589b50ba341ccf4aae
Add versions to requests

Make the auth plugin work more like a regular plugin such that the
values returned from get_endpoint are version dependant and the requests
made to the session all have a version number.

For compatibility there is still no lookup of the correct versioned URL
it just appends the default.

Change-Id: I2a8258ebd584aa35a94369fe4673dfd5ee07715b
Use Discovery fixtures for auth token tests

These structures can be provided by keystoneclient Fixtures. The current
examples are actually incorrect as there are no links provided by the v2
discovery response.

Whilst at it we may as well use the built-in JSON handling of the
requests-mock library rather than encode it ourselves.

Change-Id: Icf227971458c92db0b0c77b5e3d08d1a9fec795e