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.
As stated in the other PR, don't have read/write methods, but have the block return a channel.  This makes it so we don't have to reinvent the read/write code and can build utils to help work with one interface.  As long as the channel is a `FileChannel` then the network code can copy to the file directly without touching user space.