Task notes:
- Create N-Way Set-associate Cache Library.
- Cache is in memory (no databases and disk storing).
- Solution is strictly typed for key and value (string, int, class, etc).
- Solution contains LRU and MRU algorithms of replacing values in the cache.
- Client may realize it's own algorithm of replacing values in the cache.