Use thread transaction manager by default

This branch makes the thread transaction manager (e.g., transaction.manager) the default transaction manager used.

The behavior is configurable via the "thread_transaction_manager" option.