Fixed TACHYON-97

Current implementation of read(long position, byte[] buffer, int offset, int length) in HdfsFileInputStream is incomplete: 
1. It does not consider the boundary of file length, which could lead to an out of range issue when seeking the requested position in bytebuffer. 
2. It does not recover the original offset after function call.
This class is not thread safe at the moment, so users must use it on a single thread.  With that being the case, why add this block?  This block won't make the code thread safe.  Is there something else you are trying to protect against?