Adds hacking check for debug logging translations

bp more-code-style-automation

Change-Id: Id54f322f00b04a165bb4a7b1e24f95bb72b7f068
Add keystonemiddleware to requirements

Keystone middleware has been split. Keystone ec2_token middleware
has been included in the new repository. Keystone will depend on
the keystonemiddleware package and import ec2_token instead of
providing duplicated code.

Change-Id: I10534c1ca9883b9f98c998a6cb61e500f6c6ff2d
bp: split-middleware
Imported Translations from Transifex

Change-Id: Ia8bfc8f572d6f91ab39322e1a8274c5d2a12815b
Remove deprecated token_api.list_tokens

The method token_api.list_tokens was deprecated in Icehouse and
slated for removal in Juno. It was determined that the driver
version of .list_tokens was an internal method and should not
be used outside of the .delete_tokens method.

blueprint: non-persistent-tokens
Change-Id: I33e81503b1469537bbd745937bf2efe17c7ae469
Do not use lazy translation for keystone-manage

lazy translation provides the ability to translate messages to
different languages based on the request language in the HTTP
request. Since keystone-manage doesn't handle HTTP requests it
doesn't need to enable lazy translations.

Change-Id: I0abab2565b604e3325f61cad412dc8b28f768f18
Add oslo.i18n as dependency

oslo.i18n provides the i18n functions that were provided by
oslo-incubator's gettextutils module. Once Keystone is changed to
use oslo.i18n the gettextutils module can be removed.

Change-Id: Ie9db1c25ba0601258fb9a493cbc75b0ff205d0d6
multi-backend support for identity

The current code has a number of problems and limitations in its
support for having domain-specific backends (e.g. a different LDAP
server per domain).  Not least of the problems is that you cannot
always infer the domain if an API call is just handed a user_id or
group_id. These issues are so severe that this feature is currently
marked as experimental.

This patch fixes these issues by using a mapping layer to store
the domain and local ID for the public facing user and group IDs.
No API changes are required for this new support. An important
consequence of this change is that non-UUID IDs for backends
like LDAP do not escape from keystone.

To ensure backward compatibility with existing single backend
installations, the mapping is not used for the default driver.
An exception to this is that if a cloud provider wants to enable
mapping for the default LDAP driver then they can set a config
option to achieve this.

keystone-manage has been extended to provide options to purge
the mapping table.

Blueprint: multi-backend-uuids

Change-Id: I60f8965bb74b248e6a6c8f141289affa431ee3cf
Merge "Remove deprecated token_api.list_tokens"
Merge "Add oslo.i18n as dependency"
Merge "Imported Translations from Transifex"
Merge "multi-backend support for identity"
Merge "Adds hacking check for debug logging translations"