Lock support

Do you have any suggestions for API? 
Too much parameters here.
* `blocking_timeout` and `timeout` are used improperly:
* `timeout` should be decremented each time you failed acquireing lock;
* `blocking_timeout` should be used as `yield from asyncio.wait_for(self._acquire(), blocking_timeout)`
    because `_acquire` can block for longer period then specified in `blocking_timeout`;