Fixed httplib2 mocking (bug 1050091, bug 1050097)

- 204 No Content should be mocked with empty response bodies
- Content-Type headers should not be mocked with empty response bodies
- httplib2 would never return None as a response body
- The Identity API never expects a req/resp body with a string value of "null"

Change-Id: Ie22e8e5288573268165ed06049978195955f8ca6
Require httplib2 version 0.7 or higher.

SSL validation was not available until version 0.7 of httplib, which keystone
client makes use of. Therefore, we cannot just allow any version.

Change-Id: I05dc72aa77a4f861cc238fccf5a22192f7bdbf6f
removing deprecated commandline options

Change-Id: Ie0cb579583012cf41ff34946a48b16f132ac2421
Handle "503 Service Unavailable" exception.

Bug: 1028799

No traceback, if service is unavailable; error out gracefully.

* keystoneclient/exceptions.py
  ServiceUnavailable: New class to handle 503 status code.
  Add the new class to list of handled exceptions.

Change-Id: I39a8ac594ef922d682731a926be26c8b6f648f9d
Merge "removing deprecated commandline options"
Fixes setup compatibility issue on Windows

Fixes Bug #1052161

"python setup.py build" fails on Windows due to a hardcoded shell path:
/bin/sh

Change-Id: I9b5838aa96d3f41f8baf58f28d3e9e6d9646f6cb
switching options to match authentication paths

as defined in http://wiki.openstack.org/UnifiedCLI/Authentication

Change-Id: I1b5a0ce21040e536d3a9fbc39a2a08b51124880d
Add wrap option to keystone token-get for humans

When using Keystone PKI, a token ID can be over 3200 chars long.
Add optional --wrap option to make 'keystone token-get' human readable

fix bug 1053728

Change-Id: Ic3dffa773f9b8fc227a8fe7592a3d87e8e22e510
Merge "Add wrap option to keystone token-get for humans"
Merge "switching options to match authentication paths"
Allow empty description for tenants.

Bug: 1025929

(based on the patch submitted by Ivan Bondarev)

* keystoneclient/v2_0/shell.py
  do_tenant_update(): Update description if it is defined.

* keystoneclient/v2_0/tenants.py
  Token.update(), TokenManager.update():
  Update description if it is defined, even if it's empty.

* tests/v2_0/test_tenants.py
  test_update_empty_description(): New test case for empty
  description.

Change-Id: I4c4e93f6bd5d38828685fd55eb1e694f521928e9
Merge "Fixed httplib2 mocking (bug 1050091, bug 1050097)"
pep8 1.3.1 cleanup

Change-Id: Ie4f3747b488829b4c05076bc02c377b5da939e10
enabling i18n with Babel

Change-Id: I7d5a170f31c2846474b3836a08c6445577613e98
updating keystoneclient doc theme

adding in openstack theming
enabling last update from git
removing old manual references to API, converted entirely to autodoc
updated .gitignore
fixed docstring warnings and errors

Change-Id: Id22ddc446331d52cbf56c3462d8b532fc37f64ac
updating base keystoneclient documentation

* updated changelog
* described CLI authentication for admin and user
* tweaked API usage docs a bit with formatting and typos

Change-Id: I61c3aab99bb0ecbad1de6d32a767558ca1a2ab5b
Merge "updating keystoneclient doc theme"
Merge "enabling i18n with Babel"
Merge "updating base keystoneclient documentation"
virtualenv quite installation for zypper

 * tools/install_venv.py
   Added new class Suse

Change-Id: I4629ca683edcd07f5707fe015bfc58bf904209f2