Follow file-like object spec more closely

This commit fixes the writer and the reader to not callously remove
newline characters. It now behaves more like a proper file-like object.
Furthermore, this commit fixes the reader to handle the optional
parameters on read() and readline().
Merge pull request #3 from stitchfix/tmillar_strict_interface

Follow file-like object spec more closely