Refactoring caching:
   - changed CacheContainer into a Map<String, CachedSentence>
   - made caching and parsing two separate steps: first lookup in cache then parse and remove deleted rules.