Support for version and extension discovery

- Supports unauthenticated call to Keystone to discover
  supported API versions
- Added command-line support (usage: keystone discover)
- Added client support (keystoneclient.genenric client).
  Client returns dicts, whereas shell command prints
  formated output.
- Added tests for genenric client
- Replicates 'nove discover' in python-novaclient
- Starts to address blueprint keystone-client
- keystone discover output looks like this:
    $ keystone discover
    Keystone found at http://localhost:35357
        - supports version v1.0 (DEPRECATED) here http://localhost:35357/v1.0
        - supports version v1.1 (CURRENT) here http://localhost:35357/v1.1
        - supports version v2.0 (BETA) here http://localhost:35357/v2.0
            - and HP-IDM: HP Token Validation Extension
            - and OS-KSADM: Openstack Keystone Admin
            - and OS-KSCATALOG: Openstack Keystone Catalog

Change-Id: Id16d34dac094c780d36afb3e31c98c318b6071ac
Add limit and marker to user_list and tenant_list

 * This will ultimately enable seeing more than 10 users/tenants at a
   time in horizon :)

Change-Id: I54ab6305746a16fda8e57c9c67c48ea2d6b906c6
Enabling/disabling users should use OS-KSADM extension (bug 922394)

Change-Id: I11bf244ea123092df2f0ae8e0e7c9196e3cd1e2c
Updates client to work with keystone essex roles API routes.

Also adds pep8 to requirements since it was missing, and adds the
automatically-created venv to the gitignore list.

Change-Id: Iafa05c1889d7706b79d0f9392a9ac24f2f5a1719
Added delete token

Change-Id: I202f89f74702df6b775d4fa3ca3fca2111709949
Merge "Enabling/disabling users should use OS-KSADM extension (bug 922394)"
Merge "Updates client to work with keystone essex roles API routes."
Correct tenant update HTTP method.

Change-Id: I274104336f908922396c64ca0ee4ac5a7f5e2937
Merge "Added delete token"
Merge "Correct tenant update HTTP method."
Blueprint cli-auth: common cli args

Remove os_ from internal variable names corresponding to OS_ env
variables.

Strip trailing '/' from --auth_url since server doesn't seem to
tolerate '//' in the URL path.

Fixes lp923920

Change-Id: I3e48441d63b6504fd088aa07241f66d63590d935
Allow --token and --endpoint to bypass catalog

 * allows skipping of service catalog
 * removes odd logic about password equivalence
 * also removes extra call to authenticate

Change-Id: I5c0979107da99593b4ce8eb16c9695ba530da095
Fix conflicts with shell args for subcommands

Change-Id: I48517f6b8e25268a00532d9e6fd8fed54f5317cd
Use unittest2 instead of unittest.

This allows the test to run on RHEL 6.2
and python 2.6.

Fixed bug 933076

Change-Id: Idb026114ac1813266d77a70d13b0c3b9467f5199
Fixes user update methods.

1. Fixes the url for user update methods to reflect extension status,
   e.g. 'users/{user_id}/tenant' to 'users/{user_id}/OS-KSADM/tenant',
   as per Keystone API.

2. Fixes the update_user method, as it expects a POST instead of PUT.

Change-Id: I045ca7650b2ef8969af695900da1b4f62d4da6bd
Add license file to the tarball

Change-Id: Ic291ba96defe44368c0e78c877c2258fb0f64fbc
Merge "Fixes user update methods."
Restores proper PUT method for user update now that KSL supports it.

Change-Id: Ifd68a9878489efa29442f1035d0393ada9c6d3ff
Display token and service catalog for user

* Adds commands 'token', 'catalog' and 'endpoint-get' to keystone CLI
* Fixes bug 930421

Change-Id: I9eceea3bf98a5c87b122fa663c96f7119ef8d3cc
Add tenant commands to cli

* Adds tenant-list, tenant-get and tenant-update to keystone command
* Removes tenant-enable and tenant-disable
* Fixes more overlap in cli args, clean up command args, particularly
  removing nargs from arguments that are not optional.
* Fixes bug 932235

Change-Id: I1aafec1b2a3943e0f6c86f0228ab29f181a7ffce