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
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