set up project
use semaphore to write atomically.
added test case for removeObjectFotKey:
updates modification date on objectForKey:
refactored methods generating file path.
refactored test case
creates parent directory of cache data on setObject:forKey:
remove objects using block condition.
removes parent directory on removeObjects*
added tests for writing from multiple threads.
rename: modificationDate -> accessedDate
build existingPaths at init
changed parent class: NSMutableDictionary -> NSObject
renamed: existingFilePaths -> filePaths
oops
added hasObjectForKey
fixed name of argument
set up demo app
added sharedCache
updated demo app