Cache: add proper documentation
Cache: remove t/l operations from memory cache
Cache: add cache TTL struct
Cache: unify tests
Cache: create test for memory cache
Cache: return Cache interface instead of *LRUCache
Cache: rename MemoryCache to Memory