Improve S3 read performance. Fix #152 (#157)
Improve S3 read performance. Fix #152 (#157)

* Resolve #152: perform a .get only when necessary

The previous implementation performed a .get every time when reading to
the buffer.  This was wasteful and unnecessary.  A single .get is
sufficient to read from the current position until the end of the file.
Another .get is only necessary when seeking.

* decrease default buffer size to 128kB

This matches the behavior of 1.5.3 more closely, as observed during live
tests against S3.

mpenkov/smart_open,piskvorky/smart_open,RaRe-Technologies/smart_open,mpenkov/smart_open,RaRe-Technologies/smart_open