With lock timeout

fixed in next commit:
 - added new class, _Lock, which contains lockType and callId
 - methods _releaseLock, _cancelLock, _sendRequest now require _Lock (not sure if the _sendRequest should though)
 - _getLock now returns _Lock