Fully parametrise the cache validator and move into library.
Merge branch 'master' of github.com:felix-lang/felix