add block handler to handle block files on different under file systems[Tachyon-33][SubTask 1]

details are on Tachyon's JIRA
BlockHandler is used to read and write block files on different under file systems, currently local file system is realized.
what's the meaning of length == -1? the javadoc doesn't explain it.