Add a test verifying that ReadAt doesn't return EOF with 0 byte reads.
Don't return EOF if reading 0 bytes from the end of the buffer.

It's unexpected for Read([]byte{}, n) to ever return EOF.
Add to the test: check no EOF if reading before b.Size()
Merge pull request #7 from eaburns/eof

Don't return EOF when reading 0 bytes.