Refactored RemoteBlockInStream

The code was underdocumented and 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.