code: function Lock(client, options) {
    var key;
    this._id = uuid.v1();
    this._locked = false;
    this._key = null;
  
    this._setupClient(client);
    this._setupLuaScripts(client);
  
    options = options || {};
    for (key in Lock._defaults) {
      this[key] = Lock._defaults[key];
      if (key in options) {
        this[key] = parseInt(options[key], 10) || 0;
      }
    }
  }
docs: The constructor for a Lock object. Accepts both a redis client, as well as
  an options object with the following properties: timeout, retries and delay.
  Any options not supplied are subject to the current defaults.
  
  @constructor
  
  @param {RedisClient} client  The node_redis client to use
  @param {object}      options
  
  @property {int} timeout Time in milliseconds before which a lock expires
  (default: 10000 ms)
  @property {int} retries Maximum number of retries in acquiring a lock if the
  first attempt failed (default: 0, infinite: -1)
  @property {int} delay   Time in milliseconds to wait between each attempt
  (default: 50 ms)