Null transaction

From this discussion https://github.com/rails/rails/pull/16341#discussion_r15603190 .

This has only 2 simple commits.
- Move `TransactionManager` to the bottom, so we can create a constant with the value being a `Transaction` sub-class. (the constant needs to be defined prior the TransactionManager definition)
- s/ClosedTransaction/NullTransaction , and use `NullTransaction` as a constant.

review @rafaelfranca @chancancode

I have another PR, which will remove the inheritance on the `Transaction` class, but I didnt want to mix with these changes as It would make it WAY harder to follow the diff.