* Completes the blueprint for splitting the XA Resource Manager API from the storage engine API:
We add a new plugin::XaResourceManager abstract interface class which exposes the X/Open XA distributed transaction protocol for resource managers.
We add a new plugin::MonitoredInTransaction base class from which all plugins that need monitored by Drizzle's transaction manager (drizzled::TransactionServices component) derive.
All plugin::StorageEngine's now derive from plugin::MonitoredInTransaction since all storage engines a monitored by the transaction manager and the Session keeps a "slot" available for keeping the engine's per-session data state. In a future patch, the transaction log's XaApplier plugin will also derive from MonitoredInTransaction, as the transaction log, in XA mode, is also monitored by Drizzle's transaction manager and automatically enlisted in XA transactions.
* Updates all documentation in /drizzled/transaction_services.cc to accurately reflect Drizzle's new transaction management process and explicit transaction and statement boundaries.
* Kills off dead code:
binlog_format_names ha_init() total_ha, total_ha_2pc (no longer necessary, as the above-mentioned abstract base classes provide all of this functionality) StorageEngine::slot (now plugin::MonitoredInTransaction::getId()) TransactionalStorageEngine::two_phase_commit (same as above)