Introduce cache.memory_ratio configuration for HPCache

New set-and-forget configuration that specifies cache size as a ratio of the
old generation max size. Memory division across internal components of the cache
is handled by fixed ratios.

If any of the old config (now referred to as "advanced config") is set, it will
override the memory_ratio configuration.
From looking at this class only it is quite hard to follow what the purpose of each of these are. It has to be read from the place where they are used. I wonder if this could be improved somehow, although I can't come up with a good way.