Synchronized with oslo db code at 11.02.14

List of changes:

c094811 Make wrap_db_error() a class decorator (on review)
9724b6c Don't use cfg.CONF in oslo.db (on review)
793eddb Don't store engine instances in oslo.db (on review)
b4f72b2 Don't raise MySQL 2013 'Lost connection' errors (master)
271adfb Format sql in db.sqlalchemy.session docstring
0334cb3 Handle exception messages with six.text_type
eff69ce Drop dependency on log from oslo db code
7a11a04 Automatic retry db.api query if db connection lost
11f2add Clean up docstring in db.sqlalchemy.session
1b5147f Only enable MySQL TRADITIONAL mode if we're running against MySQL
Revert "Remove lazy loading of database backend"

We removed this a while ago, but unfortunately Nova, Ironic and
probably other projects still rely on this feature to prevent import
cycles and postpone initialization of DB backend to the moment when
oslo.config has already parsed the config files (the errors were
hidden when we tested the original commit by the fact that we had
lazy loading of engines in oslo.db code). Reverting is needed
in order to make transitioning to oslo.db as smooth as possible.