Potential API for registering lua scripts
Tiny code simplification
Merge branch 'master' into lua_support
Re-write EM::Hiredis::Lock

Re-implemented using lua scripting to provide a considerably simpler and
safer mechanism for locking.
Also add some tests to the locking implementation
Don't rely on onexpire callback to re-take lock

The callback is fired by a timer in the client process, it's not
guaranteed to fire before the lock expires on the server.
Instead, renew the lock at a sensible proportion of the lock timeout.
There's no reason to wait until the very last second (we're talking
about a very small amount of traffic).
Use more backward compatible formulation of SET EX
Support short timeouts accurately

A 1s timeout is not recommended in most cases, but will now work without running in a loop.
Validate that the timeout is valid
Merge branch 'lua_support'
Merge branch 'better_locking'