Sync latest db.sqlalchemy from oslo-incubator

The solution to bug 1272500 (Unit tests failing with sqllite 3.8.2-1)
is to use a newer version of db.sqlalchemy from oslo-incubator.
This sync introduces a few incompatible changes that also had to
be fixed for the unit tests to pass:

-_extra_keys in Models must be a property
-Additional utcnow calls were added, which broke some unit tests
that were incorrectly mocking timeutils.utcnow.  timeutils
provides an override method that allows fake times to be returned
in unit tests.

Change-Id: I99685c8a1086fa4e1354f1fa0a715d88d0468dc6
Closes-Bug: #1272500
Co-Authored-By: Ben Nemec <bnemec@redhat.com>
Merge "Sync latest db.sqlalchemy from oslo-incubator"