Added a self.lock wrapper to hold distributed Redis-based locks
Brought the tests back
Merge branch 'master' into wrappers