token provider cleanup

UUID and PKI tokens are peers, and PKI should not be a subclass of
UUID.  This is the start of a cleanup effort to break the Provider
into a pipeline, but done in a way that each change is understandable
on its own.

Change-Id: I0720695b91d20a675374e713fe9ac6c0d7120484
Merge "token provider cleanup"
Sync global requirements to pin sphinx to sphinx>=1.1.2,<1.2

Sync the global requirements to pin sphinx.  This addresses an issue
where Sphinx 1.2 is not building documents correctly and causing
check/gate to fail.

Change-Id: I3ecf8535bd8f8ea0ee17aabc7ad418ff31f16366
Debug env for tox

Running a test with pdb was difficult because testr captures
output and causes pdb prompt to quit.

Tips for how to run with debug are provided here:
 https://wiki.openstack.org/wiki/Testr#Debugging_.28pdb.29_Tests

This change puts these commands into a debug env in tox.ini so
you can do a command like

 tox -e debug test_v3_trust_token_get_token_fails

or, for more granularity:
 tox -e debug keystone.tests.test_sql_migrate_extensions.EndpointFilterExtension
 tox -e debug keystone.tests.test_sql_migrate_extensions.EndpointFilterExtension.test_downgrade

and when it hits your breakpoint you'll get the debug prompt.

Change-Id: I2b5dc81f4652dc89ecbcc7c785245a81cf77a1ca
Fix errors for create_endpoint api in version2

1. Create an endpoint without 'service_id' should return a 400 Bad Request
with appropriate message instead of 500 Internal Server Error.
2. Empty urls should be discarded.

Change-Id: I535467ec35fe2ae738ecae0a4f20d19ff4f001ec
Closes-Bug: #1250765
Sync db.sqlalchemy from oslo-incubator

This updates db.sqlalchemy from oslo-incubator from hash
6f3e5a57aea5402031c4cc8863e0e35f7f222794

 $ python update.py --nodeps --base keystone \
    --dest-dir ../keystone --modules db.sqlalchemy

Change-Id: I2c8c104b6116f3f0cf0f17df196924ab7c20e072
Merge "Debug env for tox"
Merge "Sync db.sqlalchemy from oslo-incubator"