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
Right. But when the client is checking if there is enough unused space in some storage dir, shouldn't it check starting from the top tier? In this function, it seems like it's going through the directories randomly, since it's iterating through a map.