Updates keystone.catalog.core.format_url tests

Since the tests were unit tests I moved them into the new directory
structure. I also added a few tests to increase the coverage to 100%.

Change-Id: I063f0712b83ddd7773458a5bb3d4f483c20eb2a2
Fixes catalog URL formatting to never return None

The old behavior was to return None if the URL template was not a string
(or not string-like). This was a mistake because a None should never be
able to make its way into the catalog.

This is based off of an IRC discussion that spawned from:
https://review.openstack.org/#/c/81528/4/keystone/catalog/backends/sql.py

Change-Id: I12b0362d3869a3ec8dc1a6fa34e934a221deecbc
Partial-bug: #1230279
Only emit disable notifications for project/domain on disable

Now that the original (pre-update) version of the project or domain
is available, before a 'disable' notification is emitted, check to
see if the project or domain is already disabled. There is no reason
to perform the 'disable' actions and emit a 'disable' notification
unless the project or domain is changing state from 'enabled'.

Change-Id: I4a7b6a5c638f9faf6bd525553c81e379be562471
TestAuthInfo class in test_v3_auth made more efficient.

The TestAuthInfo class inheriting from class RestfulTestCase
is ineffcient because it causes backend databases and
fixtures to be loaded unnecessarily.

Moved auth building helper functions from RestfulTestCase to a new
class AuthTestMixin

Change-Id: If5c187e4f2a5871fd9ad41d90de4d5ddecd75153
Closes-Bug: #1134836
Do not leak SQL queries in HTTP 409 (conflict)

Log the exception details for debugging purposes when a SQL conflict
exception occurs when using the handle_conflicts decorator. Make
sure the raw sql queries do not get passed back to the end user.

Change-Id: If1ea528f0f9e486258d73b239015f370de2353ca
Closes-Bug: #1321804
Updates Python3 requirements to match Python2

bp python3

Change-Id: Ie413c12dd1c4d863857d6a6437ea2cbeb47d4622
Consolidate provider calls to token_api.create_token

Ensure that token_api.create_token is only called from a single
location within the token provider common logic. This allows for
the token_provider calls to create_token to be overridden looking
towards a scenario where a provider will not actually store the
token data (ephemeral tokens).

Change-Id: Ia091ccfa4638f7307588f7c0c443b28126ee6359
bp: non-persistent-tokens
Remove backend_entities from backend_ldap.conf

There's no configuration option in keystone for backend_entities,
so remove it from the test config file.

Change-Id: Id3b9bb609e6d1740b7db3543ce1316bf141553a0
Remove db, db.sqlalchemy from openstack-common.conf

Since Keystone switched to using oslo.db, the db and db.sqlalchemy
modules in oslo-incubator are no longer used, so remove them from
openstack-common.conf.

Then I did a re-sync with oslo-incubator commit caed79d8, which
removed common/context.py since it's not used anymore.

Change-Id: Ief0052e1ea0279118f0687c3a2a19c5ea53c6eb9
Merge "Updates Python3 requirements to match Python2"
Merge "TestAuthInfo class in test_v3_auth made more efficient."
Merge "Consolidate provider calls to token_api.create_token"
Merge "Only emit disable notifications for project/domain on disable"
Merge "Updates keystone.catalog.core.format_url tests"
Merge "Fixes catalog URL formatting to never return None"
Merge "Remove db, db.sqlalchemy from openstack-common.conf"
Merge "Do not leak SQL queries in HTTP 409 (conflict)"
Merge "Remove backend_entities from backend_ldap.conf"