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

resubmitted for PR361, rebase to current master.
I would prefer to return Pair<StorageDir, List<BlockInfo>> instead of modifying the input argument.
Need to add "would return null if no allocated directory is found" to prevent NPE when accessed from client.