Cache values on reads

- refactor ConcurrentTrackerState to have an internal map rather than extends a ConcurrentHashMap
Flush the schema state and replan when counts have changed a lot
Merge pull request #3208 from davidegrohmann/2.2-counts-store

[2.2] Flush the plan cache when counts have changed a lot