override ActiveRecord::ConnectionAdapters::AbstractAdapter#transaction instead of ActiveRecord::Base#transaction.  This supports all previous use cases (since AR base delegates to its connection), as well as supporting transactions initiated directly on connections.