Use SQLAlchemy cursor execute events for tracing

This change provides a consistent
system of intercepting statement executions, gaining information
about the current stack trace, and then injecting that information
either into the statement and/or logging it.   The system
works for any backend without the need to code to DBAPI
details or monkeypatching of the cursor.

Change-Id: If80db9a0a898d2cb94837ff059fc054590050506
Merge "Use SQLAlchemy cursor execute events for tracing"