Refactor work with session in db.block_device_mapping_* methods

Remove explicit use of session where it is not required.
Also this is small performance optimization, because if we put
session parameter to Models.save() method will create subtransaction.

blueprint db-session-cleanup

Change-Id: I6064f3df2daf0178009c4cf40da293f71ca6972a
Fix use of potentially-stale instance_type in tenant_usage

The simple_tenant_usage API extension may return incorrect billing
information if a flavor is changed or deleted while an instance using
it is still running. This makes it use the stashed instance_type instead.

Fixes bug 1154707

Change-Id: Ifce33488e5ef8aa942051d882407a3e2d088aaf5
Merge "Fix use of potentially-stale instance_type in tenant_usage"
Merge "Refactor work with session in db.block_device_mapping_* methods"