pytest fixture for SQLAlchemy tests to wrap each test in its own transaction, which is automatically rolled back when the test completes