- Use loop.create_future instead asyncio.Future if possible
- Support Python 3.5 and async with statement
- rename .reader_lock -> .reader, .writer_lock -> .writer. Backward compatibility is preserved.
- Add .locked property
- Make .release() non-coroutine
- Initial release