downgrade: if a compression is removed, consider that too
For compression format variant, the result of `fromrepo()` and `fromconfig()` is
not a boolean and we have to actually equate those to find change.
Differential Revision: https://phab.mercurial-scm.org/D9693
engine: prevent a function call for each store file
Python function calls are not cheap. Instead of calling the function once for
each file in store, we use a dedicated function which filters and yields the
required files.
Differential Revision: https://phab.mercurial-scm.org/D9673