Add a lock implementation based on the Zookeeper recipe

TODO: handle recoverable errors (server crashes after create causing a deadlock)