Internal transaction management refactorings to allow for pluggable ones (for example, async ones).
Will also include backward compatability changes to how transaction is started with a transaction "isolation", which is now called transaction processor, as well as setting a session to be read only.