TermCacheManager provides three functions:
- updateTerms - called when an entity changes
- (pre)fetchTerms - called before iterating over a list of links, such as RC
- getCachedTerms - gets terms from the local cache.
TermCacheManager should be implemented based on (at least) two caching layers: a local buffer, and a persistent cache. Cache writes may be randomized to approximate LRU behavior.