changing-files: cache the various property
We are going to start using them more having some basic caching would be good.
The focus is not about performance yet, however avoid some easy N² trap seems
reasonable.
Differential Revision: https://phab.mercurial-scm.org/D9112
changing-files: always use `mark_touched` to update the touched set
We use this function internally too because that will make cache invalidation
simpler.
Differential Revision: https://phab.mercurial-scm.org/D9111