Add storage dir and eviction strategy [TACHYON-33][SubTask 2 & 3]

resubmitted for PR361, rebase to current master.
@dcapwell 
Because most OPs on mUserAllocatedSpace are "read and set value" on some keys,  for example: first get the used space of some user, then plus with space newly requested to get the updated value, and set the updated value back. ConcurrentHashMap doesn't support such atomic Ops.