Allow session to return an error response object

Typically we want to have exceptions thrown when dealing with requests
that return an HTTP error. However when looking at integrating the
session object with other clients it becomes apparent that the exception
handling is sufficiently different that it is best for now to let the
existing error handling work.

Add an option to return the failed request rather than raise an
exception so existing clients can do there own error handling.

Blueprint: session-propagation
DocImpact: New session parameter.
Change-Id: I63ea034e7c6eaaf42d4329526a902677a8dd709d
Implement endpoint filtering functionality on the client side.

bp/endpoint-filtering

Change-Id: I48cb8dbd2720bb0c5777712b68a8a5b8f3bf7f60
Create a V3 Token Generator

A token generator that can be used by other clients to generate
consistent tokens in there test code.

Change-Id: I05d2632b4c8290c2b1015996769340f0bea16f93
blueprint: share-tokens
CLI always configures logging

When the keystone CLI wound up logging something and --debug
wasn't set, a message was printed that 'No handlers could be
found for logger <whatever>'. This is because Python logging
was only configured when the --debug option was set.

This change makes it so that logging is always configured. If
--debug is used then the level is DEBUG and if it's not used
then the level is WARNING.

Change-Id: Ib01d1072acff0d6ede468b0ecab4f871459014ee
Closes-Bug: #936404
Merge "Allow session to return an error response object"
Merge "Implement endpoint filtering functionality on the client side."
Merge "CLI always configures logging"
Merge "Create a V3 Token Generator"