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 you return a channel, you can still do map, so the performance should be the same.

Here is what I am thinking is the usage:

Client creates a file and gets a output stream to write to.
This output stream blocks up the data, so when the block size gets too large, creates a new block
The interface used would be this interface.  So rather than writing to a buffer, you write to a block.

Is my thinking different than yours?