Added interface for DomainRepositories.
Reordered methods in Bootstrapper.
Incorporated transaction support to domain repository interfaces. Added transacted IDomainRepositories.
Transacted objects should be reusable accross transactions.
Made IEventBus also provide its transacted version.
Removed unnecessary 'new' method modifier.
Added Transaction class that runs code inside transaction.
Removed the Transaction.Run overload with parameter.
Moved transaction handling to command handlers. Made use of Transaction class.
Added documentation to transaction interfaces, also adjusting their names while at it.
Made constructor public as the type was already internal.
Clarified code by adding more descriptive types.