Callers often tend to end up calling getFileStat(), at least indirectly,
or in various successive function on the same path. This created RTTs
when the file didn't exist since negatives were not cached. This change
does the following:
* Cache definitive negatives (404s) in the process cache.
Nothing is cached on failure (like network problems).
* Ignore process cache entries after a brief time period
so long running scripts do not have overly stale entries.
Change-Id: I356bd9f48281e3c7e7a273778b2aca59c521a0c7
Factor out duplicated code into the new ProcessCacheLRU. It is a fixed
size an per process cache which invalidate the least recently used cache
key.
Change-Id: Ib4475f21879ef6286ce2a28f248acd296fdbd45d