Extract redis_time from HostManager to Namespacing

This allows it to be used by any class in qtrix that is working
with redis.
Added Locking module

This is a module to provide a distributed locking mechanism to
ensure that Qtrix work happens atomically.  The behavior and
implementation is described here:

http://redis.io/commands/setnx
Use locking around Qtrix facade ops
Disable lock timeout by specifying timeout: 0

Only use the options hash at the API entry point,
to simplify the rest of the implementation.
Raise Qtrix::Locking::Timeout when failed to obtain lock
Remove repetition of default lock timeout

The default timeout is already defined within this
library, so we can trust that it is a smart default.
Added logging around locking
Merge pull request #17 from PeopleAdmin/proper_locking

Been reviewed by Josh and I, tested under stress in a multi-node env.