SQLAlchemy session/transaction lifecycles should be synchronized to
request lifecycles, initiating with session binding to the database
engine, followed by data model processing, followed by either a
commit() or rollback(), and finally a session disposal once the request
is completed. This CR creates repository module functions for each of
these lifecycle operations. For the API process, this means utilizing
Pecan's transaction hook to invoke the SQLAlchemy lifecycle functions
above. For the Worker process, this means decorating each RPC method
invoked from queue to call the above lifecycle functions.
Change-Id: Id7216eb6871dae849f782a0f196210cd85d08f2f
Closes-Bug: #1376239