adds Hoist.lock

allows grabbing a concurrent lock to a key so you can lock between
events

fixes hoist/Hoist#49
add documentation
Merge pull request #7 from hoist/feature/locking

Add Hoist.lock