Remove unused simplejson requirement

Closes-Bug: 1245556

Change-Id: I84107c7102d6f6a8ac264629ba52616531ef7288
Convert revocation list file last modified to UTC

On a restart of a service using auth_token middleware, the last modified
time of the revocation list file is checked to decide whether to get the
fresh list from keystone. In server timezones that are ahead of UTC,
this compares a local time with UTC. This means whenever a service is
restarted it doesn't update the revocation list for the length of the
timezone offset from UTC.

This change converts the last modified time to UTC when it's first
read, so the comparison is valid.

Closes-bug: 1204000
Change-Id: I623b6273beb56f8da2a8649a10a64318da8cd6bc
Fix typo in keystoneclient

hypen-separated --> hyphen-separated
initialzied --> initialized
did't --> didn't
sematics --> semantics

Change-Id: I79841b76fdf7a267e325b8b9d917900ccb393c02
Closes-Bug: #1254660
keystoneclient requires an email address when creating a user

python-keystoneclient v2.0 currently requires an email address,
but Keystone doesn't require an email address any longer.

Closes-Bug: #1252621
Change-Id: I4fe54aca9efcb0e5ab6ad901ee94796a04035224
Updates .gitignore

Adding ignore for Eclipse IDE environment files
These files .project and .pydevproject should be
ignored while pushing to repositories.

Change-Id: If249ec02eb770ab66d2216939a0747dfa51e701a
Closes-Bug: #1256043
Add workaround for OSError raised by Popen.communicate()

Python 2.6 can raise OSError when too much data is
written to STDIN and the process died prematurely.

In the case of keystoneclient this happens during
the first cms_verify() call of a process. The calling
logic expects a useful error message in order to
refetch the CA or singing CERT, which is missing in the
case of an OSError. So just fake it instead.

Add basic unit tests to cover all of the public methods from
keystone.common.cms, raising test coverage to 77%. Add
unit test for this specific bug (test_cms_verify_token_no_oserror).

Closes-Bug: LP Bug#1235252

Change-Id: I6e650ab9494c605b4e41c78c87a9505e09d5fc29
Warn user about unsupported API version

Prints a warning when the user tries to use an unsupported API.
Also provides a test case to check it still does fall back to 2.0.

Change-Id: Idabd150f52d27a9d065cf570f6367459126f98be
Closes-bug: #1256987
Merge "keystoneclient requires an email address when creating a user"
Merge "Updates .gitignore"
Discover supported APIs

Allow discovery of the API versions a server supports and create an
appropriate client based on this.

Implements: blueprint api-version-discovery
Change-Id: I63e6759889066a784dc47e35152c82e1ead7951d
Merge "Convert revocation list file last modified to UTC"
Merge "Fix typo in keystoneclient"
Merge "Remove unused simplejson requirement"
Merge "Discover supported APIs"
Merge "Add workaround for OSError raised by Popen.communicate()"