dirstate: replace _uncommitdirstate() by core's movedirstate()
IIRC, when _uncommitdirstate() was upstreamed, it got cleaned up a lot. Let's switch to the simpler upstream version. This fixes the brokeness in `hg uncommit` demonstrated by the previous patch. The problem was that _uncommitdirstate() had not been properly updated to support uncommitting to another commit. If you replace `oldctx.p1()` by `ctx` there, you would get this same diff as from this patch (the `interactive` code path had been fixed this way already).
topic/default/movedirstate in 5 minutes and 45 seconds (queued for 1 second)8 jobs for