mq: explicitly updatedir() even if patch() fails
It already works that way in practice, and we intend to merge updatedir() into
patch().
mq: allow to qpop/push with a dirty working copy (
issue2780)
It's safe to do so if the sets of changed files in the
working copy and patches are disjoint.
patch: introduce changedfiles
returns the set of all changed files in a given patch