Sync common db code from Oslo

This sync contains commit ``f7705f3 Make table utf-8 charset
checking be optional for DB migration`` which will be used to
support bug #1279000 fix.

Full list of changes:

9fed4ed Fix Keystone doc build errors with SQLAlchemy 0.9
f7705f3 Make table utf-8 charset checking be optional for DB migration
5b7e61c Dispose db connections pool on disconnect
d1988b9 Set sql_mode callback on connect instead of checkout
a1a8280 Fix excessive logging from db.sqlalchemy.session
dc2d829 Add lockutils fixture to OpportunisticTestCase
d10f871 Adapt DB provisioning code for CI requirements
5920bed Make db utils importable without migrate
9933bdd Get mysql_sql_mode parameter from config
96a2217 Prevent incorrect usage of _wrap_db_error()
6cab37c Python3: define a __next__() method for ModelBase
20a7510 Add from_config() method to EngineFacade

Change-Id: I115f5610101a8512af484111469f5060dce27919
Signed-off-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>
Merge "Sync common db code from Oslo"