Refactored RemoteBlockInStream

The code was convoluted, so I cleaned it up. Also the readByteBuffer
code in TachyonFile was copying almost all the logic from
RemoteBlockInStream, so I just exposed the necessary methods in
RemoteBlockInStream for TachyonFile to call.
Fixed bug in RemoteBlockInStream

I had to seek to the beginning of the block when initializing the
checkpoint input stream.
Merge pull request #559 from manugoyal/remote-read-code

Refactored RemoteBlockInStream