Make block-based locking return the value of the block.

Block based operations in Ruby typically evaluate to the value of the
block.  Why should lock() be an exception?  You can accept the token and
evaluate that as the last thing to preserve current behaviour.