Sync several modules from oslo-incubator

This change syncronizes excutils,lockutils,log, and
db.sqlalchemy.session modules from oslo-incubator
commit 19e0a51204df247dc38de880d08e6d66e89e6572 .

 $ python update.py --nodeps --base keystone --dest-dir ../keystone \
     --modules  excutils,lockutils,log,db.sqlalchemy.session

This includes fixes for 2 problems:

"keystone=INFO" was in the default_log_levels. This made it
more difficult than necessary to debug the Keystone server,
since you can set debug=True but then the keystone logging
level is overridden and you get no debug output for keystone.

"keystone=INFO" may have been in the default_log_levels because
of the auth_token middleware, but this has been moved to
python-keystoneclient now and the logging config for the
python APIs is done differently.

Closes-Bug: 1245629

Also, fixes some warnings and errors when docs are generated.

Change-Id: I53868bef975f73b4aee35695b6387b718c4179f9
Sync with global requirements

Change-Id: Ibdd73aa142be103d285ce0f15701dc96c1ec34ae
Enhance auth tests for non-default default_domain_id

There wasn't an authentication test that showed what happens when
the default_domain_id option is changed from the default. The new
tests show that the behavior is incorrect.

This test is split out because it uses a new feature of the KVS
backend to allow adding users with the same name in different
domains, because I don't think we'll backport that change.

Change-Id: I890a1c798d7f4a8a345404cd7754708ab0d36651
Related-Bug: #1265108
Fix using non-default default_domain_id

Changing the default_domain_id to something other than the
default would cause several operations to not work correctly.
This is because the value of default_domain_id was read and
cached in several parts on import, which is before the call to
CONF() so the cached value is the original default ('default')
rather than the value that the operator has in the config file.

This change removes the cached default_domain_id and instead
reads the value when it's needed at runtime so that the
user-configured value is used instead of the original default.

Change-Id: I9543e2108866ed66000d75f868bbd2b1ed978b97
Closes-Bug: #1265108
remove unused LOG

Change-Id: I5dec1b23667c7226697f064fe793c556c71e3abe
Use six.string_types instead of basestring

basestring only exists in Python 2. Use six.string_types to make code
Python 3 compatible. See http://pythonhosted.org/six/#six.string_types

Part of blueprint keystone-py3kcompat

Change-Id: I5022259cfd648ba2680aabbb0fbc403f10c5dc7e
Merge "Enhance auth tests for non-default default_domain_id"
Merge "Fix using non-default default_domain_id"
Merge "Sync several modules from oslo-incubator"
Merge "Sync with global requirements"
Merge "remove unused LOG"
Merge "Use six.string_types instead of basestring"