Refactor storage dir

I propose that we make `StorageDir` the entry point and drop `BlockHandler`.  The core reasons for this are that:

`BlockHandler` is the same thing as java's `Channel`.  Easier to use one std convention than create a new one.
`StorageDir` is the main entry point anyways, since the path is relative to the tier, so `BlockHandler` can't be the gateway since it's path depends on the `StorageDir`.
client use RPC to let worker do it.  please refer to the WorkStorage.java  
https://github.com/amplab/tachyon/blob/master/core/src/main/java/tachyon/worker/WorkerStorage.java
“cacheBlock” function.