Sync the latest DB code from oslo-incubator

Update includes a lot of changes from oslo. Previous update was
on Dec 9, 2013.

Sahara code changed because of oslo.db API change.

The main change in API is that oslo.db no longer stores SQLAlchemy
Engine and sessionmaker instances globally and it's up to applications to
create them.

Change-Id: I3e90739ab96fa8c4c718f22542df8460cb052ad9
Merge "Sync the latest DB code from oslo-incubator"