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.
If this is also used by the worker code, this should throw IOException instead of IllegalArgumentException to make caller easier to catch this.