Add Keystone V3 compliant session/auth plugin support

Barbican client uses Keystone V2 client via a Barbican auth
plugin. It also uses a regular requests.Session(). This commit
adds support for keystone session and replaces the heavy
keystone client with a lighter V2/V3 Password auth plugin. This
change is backwards compatible; it supports existing callers
and keystone session/plugin support.
On the testing front, this commit also introduces httpretty along
with a keystoneclient fixture. The keystoneclient fixture could
eventually be called directly from keystoneclient module instead
of copying it over here. Testing the keystone session/plugin
support is done mainly using httpretty

Patches:
 7: Refactored Client.__init__ for better readability
 8: Fixing pep8/py33 errors w.r.t new tox.ini changes
DocImpact

bp/barbican-client-has-to-be-keystone-v3.0-complaint

Change-Id: I8ef178b0338fe430a64c30bfe193406aabf3caf1