[v9_16] Use minimal-sized caches for non-recursive views
Currently the implicit default for the "max-cache-size" option is "90%". As this option is inherited by all configured views, using multiple views can lead to memory exhaustion over time due to overcommitment. The "max-cache-size 90%;" default also causes cache RBT hash tables to be preallocated for every configured view, which does not really make sense for views which do not allow recursion.
To limit this problem's potential for causing operational issues, use a minimal-sized cache for views which do not allow recursion and do not have "max-cache-size" explicitly set (either in global configuration or in view configuration).
For configurations which include multiple views allowing recursion, adjusting "max-cache-size" appropriately is still left to the operator.
(cherry picked from commit 86541b39)
Closes #2777 (closed)