thisshellhas --cache: make _Msh_cap readonly when caching all tests
thisshellhas --cache: make _Msh_cap readonly when caching all tests

When all detection test results are cached and the #ALLCACHED tag
is added, there is no reason for _Msh_cap ever to change in the
current shell, so make it readonly.

This should particularly keep people from messing with it in interactive
shells, where all detection tests are always run and cached on init.

modernish/modernish