Implement 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:
* reissue authentication request for expired tokens;
* pluggable authentication;
* rich exceptions hierarchy.

This code partially comes from:
* python-keystoneclient/keystoneclient/base.py;
* python-novaclient/novaclient/auth_plugin.py;
* python-novaclient/novaclient/extension.py;
* python-novaclient/tests/fakes.py.

Partially implements: blueprint common-client-library

Change-Id: Ic8b466a57554018092c31c6d6b3ea62f181d7cef
Merge "Implement apiclient library"