Sync nova with oslo DB exception cleanup.

DB exceptions have moved to openstack/common/db/exception module so that
they can be shared with multiple DB implementations.

Deadlock checking was also added to oslo to consolidate with
DuplicateKey checking.  This allows us to clean up our
_retry_on_deadlock decorator in sqlalchemy/api.py

Change-Id: I7e985b384d1ef345e0d67c919b84b4faff869699
MySQLdb: Add framework for mysqldb impl

Adds MySQLdb api which just falls back to sqlalchemy.  Adds the
connection handling and the frameworks for models and queries.

Implements bp db-mysqldb
MySQLdb: Add bandwidth usage update

Adds bw_usage_update()

Implements bp/db-mysqldb-impl
MySQLdb: Add instance_get methods

Add instance_get_by_uuid() and instance_get_all()

Implements bp/db-mysqldb-impl
MySQLdb: Add instance destroy

Adds instance_destroy().

Implements bp/db-mysqldb-impl
MySQLdb: Adds info_cache get/update/delete.

Adds instance_info_cache_get, update(), and delete()

Implements bp/db-mysqldb-impl
MySQLdb: Adds instance_update calls.

Adds instance_update() and instance_update_and_get_original()

Implements bp/db-mysqldb-impl
MySQLdb: Start of security group rules stuff
Exception cleanup
Don't try to update columns that don't exist.