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.
@dcapwell 
I did some testing using channel.write to replace current code path, the performance on large data size lose dramatically. and on small data size has no difference.
                           500MB   200MB     40MB    8MB    1.6MB   400KB
channel.map        5200      3000       2100     800      190      48    
channel.write       3200      2300       1800      800      190     49