Added timeout goroutine to stop waiting on lock after timeout
expiration.
This necessitated reworking the flow of the acquire handler. createNode
now _only_ creates the node; it no longer waits on the lock itself.
getLockIndex (perhaps this is poorly named) extracts out the lock
checking routine so that it can be used by "get" and "watch", both.
get() was added to instantaneously attempt to acquire a lock with no
waiting.
If a lock fails to acquire, for whatever reason, an error is returned,
resulting in a code 500 to the client.
The README is getting rather large so split it into individual files.
The next step will be rendering these into HTML pages with a TOC so that
they are a bit more navigable.
What do people think of this?