Add wait_for_release/2 which notifies a caller when a lock is released

Add unit test for wait_for_release/2
Add exports for lock/4 and release/3 to enable access to their versions
exposing the timeout parameter

Change some formatting to remove excessive newlines and refactor the
notification to callers into two internal notify_lock_waiter and
notify_release_waiter functions

Update README to reflect changes
Add wait_for_release/1 with default timeout
Remove timeout in replicate helper function in proper test,
the replicate issue in the proper test should be fixed in another
way
Merge pull request #5 from Gustav-Simonsson/feature/wait_for_release

Feature/wait for release