Add token delete command for identity v2

Identity v2 has undocumented support for token delete and
keystoneclient also has support.

Change-Id: Ib98d17958ceb88f7b63471691dee71fdb884ce2e
Closes-Bug: #1318442
Add support for extension list

 - Add support in the common section for extension list. This only
   supports Identity for now. Once the APIs for volume and compute
   are supported in the respective APIs, they will be added. Once
   network is added to this client, it will be added (the API already
   supports it).
 - Include extension fakes for volume and compute for pre-enablement.

Change-Id: Iebb0156a779887d2ab06488a2a27b70b56369376
Closes-Bug: #1319115
Refactor role list subcommand for identity v3 api

Currently parts of user list and group list command are actually
functioning as role listing, which is quite counter intuitive and
misleading.

This refactor change move role related logic to a single place of role
list command. It now allows role grants listing for user/group +
domain/project combinations.

If no user or group specified, it will list all roles in the system,
which is the default behaviour.

Change-Id: I4ced6df4b76f018d01000d28b4281ad9f252ffcc
Ignore most of the new hacking 0.9.2 rules

So we can update requriements.txt.  But fix a couple of easy ones:
* Fix E251 (1 occurrance)
* Fix E131 (1 occurrance)

Change-Id: I62aaa423aa6da9e9f0ca026ec586b51cc6a6df03
Clean up logging levels

The following logging levels are set according to the combination of
--verbose, --quiet and --debug options:

verbose_level   logging level       options
0               --quiet             ERROR
1               (none)              WARNING
2               --verbose           INFO
3+              --verbose --verbose DEBUG
                or --debug

Logging levels for the requests and iso8601 modules are forced to ERROR.

This is the first step in bp use-logging-not-print

The difference between '--debug' and '--verbose --verbose' is --debug triggers
cliff's exception handling and traceback display.

Change-Id: Ide2233b3316471d279260fb1e7255a6ca2072023
Updated from global requirements

Change-Id: I44f13a22528824a8b24ffb3b0e3075e870e5ee58
Merge "Add support for extension list"
Merge "Ignore most of the new hacking 0.9.2 rules"
Refactor oauth1 code for updates

The keystoneclient code for oauth1 support has changed.
As such, we should remove the delete, list and authenticate
functions, since they are not in keystoneclient.

Also, we must now pass in the project id when creating a
request token. Additionally we must now pass in roles
when authorizing a request token.

Added functional tests to ensure output and input args
are the same.

bp add-oauth-support
Change-Id: I559c18a73ad95a0c8b7a6a95f463b78334186f61
Merge "Updated from global requirements"
Merge "Clean up logging levels"
Merge "Refactor oauth1 code for updates"
Image create and set command updates and tests

Refactor image create and set commands to properly handle properties.
This is particularly tricky with exclusive booleans as in this case leaving
both choices off the command line should NOT assume a default value but
leave the existing value unchanged.

Properties were not being updated correctly in the 'image set' command.
Refactor it to use the same pattern as in other SetXxx commands.
Add tests for arg handling.

Change-Id: I123a64c9b4feecab25a3e2013cc047f55b1c9967
Fix find_resource for keystone and cinder

The find_resource method had two hacks in in to support cinder
and keystone and I have removed those in favor of a monkey patch
for cinder.

The find_resource method used to attempt to UUID parse the id, but
it would do a manager.get anyway.  I changed it to skip the UUID
parsing.  This will make things run minorly faster and it supports
LDAP for keystone.

The find_resource used to attempt to use display_name=name_or_id
when finding.  This was a hack for cinder support, but it breaks
keystone because keystone totally messes up with the bogus filter
and keystone refuses to fix it.

Change-Id: I66e45a6341f704900f1d5321a0e70eac3d051665
Closes-Bug: #1306699
Add a docs job to tox.ini

A noticed that there wasn't a docs option when running tox.
Thought it would be a good idea to add one.

Partial-Bug: #1331304
Change-Id: I5af9ff5d5986ad546146c0fa73eb98256fd00c5f
Update docs template

To make things more consistent across all openstack projects, the
developer docs should be upgraded to the newer template used by
keystone and keystoneclient (and other projects).

I dropped in the necessary static files and themes, and updated
the config file to make the changes at build time.

Change-Id: I5a268cff3cd5af29ad712705d540b9d1d6667d56
Partial-Bug: #1331304
Merge "Add token delete command for identity v2"
Merge "Add a docs job to tox.ini"
Merge "Update docs template"
Change the token verb to issue/revoke

Change the token verb to issue/revoke as documented in:

https://wiki.openstack.org/wiki/OpenStackClient/Commands#token
https://wiki.openstack.org/wiki/OpenStackClient/Commands#Actions

Change-Id: I44f77f98ad3269c4f2149301c204804dcb75ac81