Replace uses of ProcessingCache with CachingProcessor
ValidationChain: return null on invalid schema

This means errors are cached, unlike before. But if this is not done, we cannot
build accurate unchecked reports.
Fix misleading comment