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
Do not format messages before they are logged

The python logging facility allows for the logging message to contain
string formatting commands, and will format that string with any
additional arguments provided. It will only perform this formatting if
the logging level allows.

So if you have:

   A. logging.debug("this %s that %s", this, that)
   B. logging.debug("this %s that %s" % (this, that))

Then A only formats the message if the debug logging level is set,
where as B will always format the message. Since this filter is often
on the fast-path for swift requests, it will help the small object
case to avoid any extra possible work.

Change-Id: I51414dc6577df50d5573a0f917e0656c4ae99520
Reorganize Service Catalog

Currently each service catalog call handles it's own parsing and
filtering. Modify this so that each function calls back to another
public function ensuring that filtering and parsing is only handled
once.

This allows us to consolidate some helper methods into the base class
and generally clean up.

Change-Id: I15777436af06baea903182f4b3b5913e2890afd1
Merge "Do not format messages before they are logged"
Extract a base Session object

A wrapper around a number of connection variables. This will be extended
later with principals such as Kerberos authentication and http sessions.

The intent is that this session object will become the basis for all
other client library communications in OpenStack (as keystone wants to
control things like authentication for everybody).

Change-Id: I8ee728c49d554659d7057ebf17d0f8ceea4d7d8e
Part of: blueprint auth-plugins
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
Merge "Reorganize Service Catalog"
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"