Transact improvements
Merge branch 'Feature' into Develop
Updated transact

It is almost working, there is a race condition that needs review,
nested transaction still missing. The use of IDisposable in Transact is
experimental.