Merge hierarchy store into Tachyon [TACHYON-33 sub-task 5 & 6]

Merge hierarchy store into Tachyon, which supports storing data on both memory and other storage(SSD HDD etc), client side and RPC interface are also modified accordingly

JIRA:
https://tachyon.atlassian.net/browse/TACHYON-38
https://tachyon.atlassian.net/browse/TACHYON-39
there are two ways of notify client that there is no space on worker:
1. return StorageDirId.unknownId
2. OutOfSpaceException. I noticed that there is OutOfMemoryForPinFileException, but never used, so I changed its name to OutOfSpaceException, and throw it to client when there is no space.
if 1 is prefered,  I will change the code.