Add link to the v3 client api doc

There was no link from the main page to the v3 client API doc so
there's no easy way to get to it or to know that it's there. This
adds the link.

Change-Id: I3fd49eedcf7b79f6d810ed22cfcffba4ce47dece
Fix keystone command man page

The overline/underline for the title was too short which generated
an error.

Change-Id: I2ba30ff9c819c425d5973c8cf5fd92d5642b5885
Add Python 3 classifiers.

This makes sure people know that the client is Python 3 compatible when
browsing PyPI.

Change-Id: Ie97a4de49bafc2184831ca25bc70d8af3c29d34f
Create V2 Auth Plugins

Extract the authentication code from a v2 client and move it to a series
of auth plugins. Auth plugins each represent one method of
authenticating with a server and there is a factory method on the base
class to select the appropriate plugin from a group of arguments.

When a v2 client wants to do authentication it will create
a new v2 auth plugin, do the authentication and then take that result
for the client to use.

Change-Id: I4dd7474643ed5c2a3204ea2ec56029f926010c2c
blueprint: auth-plugins
Create V3 Auth Plugins

Extract the authentication code from a v3 client and move it to a series
of auth plugins. As v3 authentication can contain multiple
authentication methods this concept is represented by an AuthMethod. An
auth plugin then is provided with multiple mechanisms to authenticate
with.

There is also some helper class for the standard case where you only
need to authenticate with one method.

When a v3 client wants to do authentication it will create a new v3 auth
plugin, do the authentication and then take that result for the client
to use.

Change-Id: I5fa6a6e1c2e114e1428e35b723700c63a3cbed44
blueprint: auth-plugins
refer to non-deprecated config option in help

memcache_servers was renamed to memcached_servers

Change-Id: Ia04c6655f81d5b71cee0f16a7614262efa907b62
correct typo of config option name in error message

Change-Id: I146e6ac742649ec24c6fbfd8b73a5359e447e76f
Remove redundant default value None for dict.get

The default value for dict.get is None, no need to specify again.

Change-Id: I9f0204e59bd4c1642586bddfef0c75e0a7730925
demonstrate auth_token behavior with a simple echo service

Change-Id: I522faed9fb9d338fcaf9aeec37e04fd5078b6306
Merge "Create V2 Auth Plugins"
Merge "Create V3 Auth Plugins"
Use admin_prefix consistently

The auth_admin_prefix config option is used manually in a number of
places where it could just be set for all requests.

Change-Id: Ib690d69bdf075cf7095841a6ab9f419dfe8b1ca8
Merge "Remove redundant default value None for dict.get"
Rely on OSLO.config

OSLO.config is now used by all the services. The hack in place to
correctly find the right config file is apparently (by way of the
comments) only required for the gate.

Therefore we should be able to remove this.

Change-Id: If5c5d5a4711de21624b2e75e99cc785520ab6aba
Remove http_handler config option in auth_token

This option was predominately used so that we could substitute a fake
handler in place so that we could mock our HTTP calls. This has been
replaced for some time now with httpretty so is no longer necessary.

Change-Id: I8613f4e189ee977f17b9606547840d5e7847d77a
Remove dependent module py3kcompat

Sync commit of removing py3kcompat from oslo

Change-Id: Icb7740a3652c26f0c1da3688aae7fb5b10b5c3e2
Closes-Bug: #1280033
Capitalize Client API title consistently

The "client v2 API" and "Client v2 API" titles were inconsistenly
capitalized. This makes the title capitalization consistent so the
index page looks better.

Change-Id: I85d033fd5d7f5204cd3d18e8c613dfd0c2a1cdd6
Set the right permissions for signing_dir in tests

This partially fixes a bug with permissions warnings being logged
during the tests.

Change-Id: Ia399a52a49a0ca9d6b74ea90147beea42a36b24d
Partial-Bug: #1219480
Remove blank space after print

Change-Id: Ifdc3b61d811bbf5651fd1b41ef75805bb9aff81e
Merge "refer to non-deprecated config option in help"