Proper locking

This includes the creation of a ```Locking``` module that provides a distributed locking mechanism as described in [redis' setnx documentation](http://redis.io/commands/setnx).  It also includes leverages the ```Locking``` to protect the meta operations at the ```Qtrix``` facade/API level.

The net effect of this is synchronization of the data structures in redis that back Qtrix so that they are only mutated in isolation.  This has been tested extensively with the demo app running 8 resque pools on 8 servers, 5 workers each and  has worked without deadlock or error.