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.
We prefer throw the FileNotFoundException inside the funcion, remove it from the declaration of the functions.like,
    if (!mLocalFile.exists()) {
      throw new FileNotFoundException(mLocalFile.path);
    }

In fact, the relationship between BlockHandlerLocalFS and BlockHandler here is similar as the relationship between tachyon.UnderFileSystemSingleLocal and tachyon.UnderFileSystem in the current trunk. You can take a look at the 'getBlockSizeByte' functions there, the 'throw' parts of the function declaration keep the same from the base class to the extented classes.

This comment also works for the ' appendCurrentBuffer' function in this class.