Rename away bad MTerm constructors for constants

So we can use good names for the cleaner ones.
WIP implement constants properly
Split domain def. for caching semantics
Maintain ⟦_⟧CompTypeHidCacheWrong

This got out of sync with the other version. Probably this belongs to
history though.
Drop ⟦_⟧*TypeHidCacheWrong

This wrong definition should not be counted among the failures before
CBPV, since it was created after and it is due to a separate limitation.
Drop ⟦_⟧CompCtxHidCache

We don't use contexts of computations─in our paradigm they don't make
sense.
Correct caching for constants (by delegation)

This defines the plugin interface for constants (with a type that makes
semantic sense), and delegates to that, while stipulating:
* what are the appropriate types;
* that constant arguments needn't be cached because they are values.
Add script to simply regen Everything.agda

After calling this you can call agda on README.agda separately --- this
is useful when agda is open inside Emacs, since rechecking is then much
faster. My previous workflow for this case was a hack: either start
agdaCheck.sh and kill it after regeneration, or forget to call it and
check with a stale Everything.agda.

This doesn't belong in the branch, but I'm ignoring this minor issue, at
least for now.