Refactored Client to use Keystone Sessions

This CR changes the Client to use Keystone Sessions exclusively. All
authentication that was previously available in barbicanclient is
removed so that we can defer all authentication to keystoneclient.

Unit tests for the client module have been refactored to test the new
functionality.

The README file has been updated to give an example of how to
authenticate with Identity v3 using Sessions.

The Client will now give priority to an endpoint that is passed in over
endpoints found in the service catalog, which closes bug #1276002.  This
is helpful for development, where you might be running an instance of
Barbican locally that uses a Keystone instance for authentication that
does not have the Barbican service in its catalog.

The CLI uses Keystone API v3 as the default authentication method, but
can also use v2.0.

DocImpact
Implements: blueprint use-keystone-sessions
Closes-Bug: #1276002

Change-Id: I9d07cb50143c1f5cafea48318018a205f745999f