Session layer with base authenticator

The session layer provides an authenticated HTTP layer for the SDK.  The
session is created with a transport and an authenticator.  All requests are
passed a service identifier as well as the normal HTTP parameters.

The authenticator is used to get the token and get the endpoint for the
service.  The service identifier is used to get the endpoint associated with
a service.

The service identifier has a service type, visibiltiy and region.

This code is based on the keystoneclient, but it has been simplified and
some renaming has been done.

Change-Id: I7184c733a5593dffb07ce4fc77e126a043274fea
Add base resource class

This has been describes as closer to the ORM approach whereby the
resource contains all the information on how to communicate with a
server.

It is intended to be a relatively low level interface on which other
things may be built. So I expect some helper wrappers will be built at a
later time.

The manager in this commit is no longer a requirement, but it shows how
you can keep the current client pattern of managers and remove the
manual handling of session objects.

Change-Id: I46678215063c31928c0b372c039ed020bed837c9
Merge "Session layer with base authenticator"
Merge "Add base resource class"
Add some sample scripts

This is a very basic starting point for working code example usage of
the SDK.

The common module includes an argument parser that recognizes the common
authentication arguments so setting up auth against a running OpenStack
cloud is the same as the library CLIs.

The inital example for Transport is a couple of simple GETs that also
shows the connection pooling.

Change-Id: I07de2888471a39cbc43daedded36ad683d02a472
Merge "Add some sample scripts"
Finish transport renaming in the tests

Change-Id: Ied47c578406d190c0964d841121c298792813173
Update the requirements

Change-Id: I4ff009cfed20efddb8482172dba940957d3e4ce6
Merge "Finish transport renaming in the tests"