Calculate a suitable column width for positional arguments

Overwrite the method add_arguments in the class
OpenStackHelpFormatter to calculate a suitable columnt width
(max_help_position) for the positional arguments.

example output before this patch:

    ec2-credentials-create
                        Create EC2-compatible credentials for user per tenant.
    ec2-credentials-delete
                        Delete EC2-compatible credentials.
    ec2-credentials-get
                        Display EC2-compatible credentials.
    ec2-credentials-list
                        List EC2-compatible credentials for a user.

example output after this patch:

    ec2-credentials-create  Create EC2-compatible credentials for user per
                            tenant.
    ec2-credentials-delete  Delete EC2-compatible credentials.
    ec2-credentials-get     Display EC2-compatible credentials.
    ec2-credentials-list    List EC2-compatible credentials for a user.

Change-Id: Ibd5d3502022d2afcfd4f57fef9a0bbf23d34b767
Closes-Bug: #1326471
use embedded URLs for hyperlinks in the README

This switches all hyperlinks to embedded links, from a much more fragile
indirect & anonymous approach (which happens to be completely broken
on Github).

Change-Id: I92700068c7d65b50c76ce6931bff3ebab4844a49
Closes-Bug: 1335968
Example JSON files should be human-readable

Change-Id: Ic408dd3935818adbef3ff4baa7c9699e4f07814e
Use keystoneclient.exceptions

keystoneclient.apiclient.exceptions is deprecated.
Instead keystoneclient.exceptions should be used.

Change-Id: I546defeac5c2a1f4d3e68885e45019a6a6ecb027
Add an example of using v3 client with sessions

Added a bit more information to the 'using-api-v3' section, about
using sessions instead of passing in arguments.
This overlaps with what is documented in 'using-sessions' but I
think it's still handy as most folks will likely go here first.

Change-Id: I352bda49e01362d3a5da9a79ceb34748552ef9ec
Use oslosphinx to generate doc theme

Since oslosphinx is out, let's use it instead of hosting our own
themes and static files.

Change-Id: I5b507d35c90d0c0411d7751935b0e53328ca9311
Merge "Calculate a suitable column width for positional arguments"
Add the 'auth' interface type

There are certain requests that will always want to be sent to the
auth_url.

Add a new interface type to the get_endpoint command of the base
identity plugin such that if you ask for the 'auth' interface it will
give you the auth_url.

Implements: blueprint session-auth-endpoint
Change-Id: If653970354b919fdd6e80c061611c3aad129c574
Updated from global requirements

Change-Id: Ic3b93f1556d23833eb0c82146c55c1e940bb155f
Merge "Example JSON files should be human-readable"
Merge "Use oslosphinx to generate doc theme"
Convert httpretty to requests-mock

HTTPretty was great particularly when we were having to deal with both
httplib and requests together. Since that time the library itself has
caused a number of problems including backwards incompatible changes,
broken releases and some dependency issues that make it difficult to
package. There are also issues with memcache tests or anything else
that also tries to use the socket.

requests-mock does a very similar job, with a very similar interface
however it targets only requests and so doesn't have the same socket
issues and will be a much easier dependency on packagers.

keystoneclient is the first of a number of clients that will do the
changeover.

Change-Id: Ida6e5feb71b6ff6662fb24b9fa6535b039c99d96
Merge "Add an example of using v3 client with sessions"
Redact tokens in request headers

Tokens shouldn't be logged since a token could be gathered from a
log file and used. The client was logging the X-Auth-Token and
X-Subject-Token request headers. With this change, the X-Auth-Token
and X-Subject-Token are shown as "TOKEN_REDACTED".

Also, the "Authentication" header is also redacted.

This is for security hardening.

SecurityImpact

Closes-Bug: #1004114
Closes-Bug: #1327019

Change-Id: I1edc3821ed028471102cc9b95eb9f3b54c9e2778
List federated projects and domains

Add calls for utilizing ``/OS-FEDERATION/projects`` and
``/OS-FEDERATION/domains``.

Change-Id: I670c1f284c1980e2258881caf51801ea66645c4a
Use config fixture from oslo.config

With the release of oslo.config 1.4.0.0a1, oslo.config
contains the config fixture. python-keystoneclient was using
the config fixture in oslo-incubator's fixture module. With
this change python-keystoneclient is using the config fixture
in oslo.config

Change-Id: Id03efdfbe8893c48a9ad65f0cf59e1dbae03dc47
Config fixture from oslo-incubator is not used.

Keystoneclient doesn't use the config fixture, so remove it from
openstack-common.conf and re-sync to remove it.

Change-Id: I9cf85a0bbbceb4c36e6ec968b19f34bb0716be95
Merge "use embedded URLs for hyperlinks in the README"
Use token and discovery fixture in identity tests

Replace a bunch of copied token data by using the fixtures available in
client.

Change-Id: Iec2e75cb4ffe9cec0396e9d8ec21a5e3c6816af7
Control identity plugin reauthentication

Identity plugins will by default re-authenticate themselves if they are
about to expire. This is generally correct however there are times where
this re-authentication doesn't make sense and we should be able to
prevent it.

Closes-Bug: #1352051
Change-Id: I66b50b1e650501e7f076139895473e8d1791ce27