Minor cleanup - removed unnecessary Sleep()
Updated README
Shortened lock hold time in request / release send

Not necessary to lock the entire state structure for the communications
phase - just incrementing the logical time and modifying the request
heap.
Added shared test var to demo

All goroutines set the test var to a unique value (process id, namely)
when they acquire the lock, pause briefly, and sample it again
immediately before releasing the lock.
The sampled value is then checked, and should still be the process id if
we really achieved mutual exclusion.