Restore the ability to load the DB backend lazily

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).

This is needed in order to make transitioning of existing projects
to oslo.db as smooth as possible.

Blueprint: oslo-db-lib

Change-Id: I9fe09c132c716345f1cef240483b023e850d4989
Merge "Restore the ability to load the DB backend lazily"