Add .Watch() concept, have acuire -wait actually wait.

* ConsulLockClient's .Watch is still a stub atm.
Sketch of how to proceed.