Dead code cleanup
Simplifying the disabled flag

1) Opening a context will not enable promiscuous, but a middleware will.
2) no more global variable $promiscuous_disabled
No more nested contexts, middlewares is a context
ActiveRecord support

It's a big commit, sorry bro.
Atomic/Mongoid operations refactor
Extracting a transaction context

This guy tracks what write operations will be used for the commit essentially.
Refactored the recovery mechanism registration