Fix a typo in fetch_revocation_list

Change-Id: Ida17b6246e6c8dc5ca9c170bd2694e4ff1f24381
Merge "Fix a typo in fetch_revocation_list"
Add apiclient.exceptions hierarchy

The new apiclient.exceptions hierarchy is more comprehensive
and it covers almost all HTTP error status codes. These
exceptions can be used in novaclient, keystoneclient,
glanceclient, and other client projects thus providing a
single inteface.

Users can have benefit from OpenStack clients raising exceptions
of known classes while now every client has its own classes making
difficult to catch, e.g., NotFound for every client.

Change-Id: Ia7b25880e0ffca3526525a0f0e77c7e77c4f0076
Add auth plugins

Historically we had auth_system in novaclient used for Rackspace Cloud
key based auth system.

Using auth plugins in keystoneclient makes easy to add new auth
mechanisms in keystoneclient as well as in third-party libraries.
Auth plugins can be discovered dynamically using stevedore and
chosen by auth system name.

Implements: blueprint keystoneclient-auth-system

Change-Id: Ie98c4f1ef0c83263e39129d40c643596a7cd67d9
Use apiclient library

This library can be used in novaclient, keystoneclient,
glanceclient, and other client projects. The library
contains common code and uses python-requests for
HTTP communication.

Features:
* share one authentication result between sessions with
  several servers (good for horizon and python-openstackclient);
* reissue authentication request for expired tokens;
* pluggable authentication;
* rich exceptions hierarchy.

Partially implements: blueprint common-client-library

Change-Id: I9155613f012d7372b8a11e0950ac450b31a8c173