Added semaphore library, need to add semaphore logic to the rest of the system to protect the cache during concurrency operations