Remove xen storage manager tables

This removes the unused tables sm_backend_config, sm_flavors and
sm_volume. In addition, they're removed from the database API.

Change-Id: I02ff6434c2d6928f2e2b08053f6dcb6178edd773
Fixes: bug #1206962
Improve DB API test coverage

This patch improves the test coverage of DB API methods a bit.

Blueprint: db-session-cleanup

Change-Id: Ib4b7312b6effca771a80d6b3137005cc28cb81e4
Execute DB API methods in a single transaction

Many DB API methods do a few queries to a DB (e. g.  SELECT
and then UPDATE, or SELECT and then DELETE, etc).  By default,
a Session instance is used with autocommit=True, which means,
that each query to a DB is done in a separate transaction. This
is error-prone (as it may lead to race conditions or returning
of unexpected results) and makes rollbacks harder (if one of
transactions fail, the previous ones can not be rolled back).

This patch ensures that all DB API methods, which do a few
queries (or call private DB API methods), are executed inside
a single transaction.

Blueprint: db-session-cleanup

Change-Id: Ie6510becffdeb78048fe4a09511ab326627d3412
Merge "Remove xen storage manager tables"
Merge "Improve DB API test coverage"
Merge "Execute DB API methods in a single transaction"