Fix race condition reading/writing cache entries

We added the KeyedOperationQueue but methods like `SafeOpenFileAsync` open
a `FileStream` immediately bypassing the queue. I simply made it a `Func` so it only happens when it's time to queue an operation.

Also removed the `InvalidateAllRequests` call which happens to run immediately as well and caused deadlocking.