Added asynchronous methods (TakeToAsync/ReadToAsync, PutFromAsync/WriteFromAsync). Streamlined existing methods. Added lots of documentation. Updated README to reflect these changes.