Introducing CacheManager

Actually, we can't avoid this, because the soup names are dynamically generated based on the object's metadata being fetched. So, at this layer, or even the app layer, there is no knowledge of the object types in cache, and hence, there is no knowledge of all the soup names that exist. That's why I was using ```dropAllSoups()```. I can't think of a good way to solve this - we can either remove the misleading method, or add doc around it. I'm leaning towards removing this method. What do you think @wmathurin?