get from cache only if necessary

For a slow cache, calling Get might be expensive, for
example it might have to access the disk. And besides
performance, calling Get only when necessary helps
replacement algorithms for caches that evict entries.
(I'm about to make a bounded size LRU cache, which
would benefit from this.)