Eliminate a race condition crash in objectForKey

If another thread removes an object while we're in the process of
reading it from disk, a nil could be returned from NSKeyedUnarchiver.
Attempting to add this nil to the memory cache causes a crash.