Fix buffer usage which results in data corruption in BlockOutStream

Prior to this, use of BlockOutStream.write() with a non-zero offset
would corrupt the block data once we exceed the file limit (default 1MB).
Merge pull request #210 from aarondav/data-corrupt

Fix buffer usage which results in data corruption in BlockOutStream