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.