Completes the work of removing the weirdness around transaction
boundaries in the storage engine API.
* Transactional storage engines are now all explicitly notified
of the start of a new "normal" transaction in the new PSE API
method plugin::TransactionalStorageEngine::doStartTransaction()
This new method takes a start_transaction_option_t as one of its
parameters, and passing this option allows the storage engine
API to cleanly signal the start of a consistent snapshot (and in
the future additional transaction attributes). This meant the
removal of the old start_consistent_snapshot() method.
* The TransactionServices component now fully manages the transaction
boundaries, notification of transaction boundaries to participating
resource managers (transactional storage engines)
Adds a simple test case (to be expanded with future XA work) for
transaction behaviour.