patch: move updatedir() from cmdutil into patch
Also, create an artificial wdutil.py to avoid import cycles between patch.py
and cmdutil.py.
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.