mq: really remove undo after a qpush (and after a strip)
For qpush, removeundo has to be called after the transaction has finished.
strip may use unbundle, which also leaves an undo file.
Fixes issue780.
#!/bin/sh
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
hg init a
cd a
echo 'base' > base
hg ci -Ambase -d '1 0'
hg qnew -mmqbase mqbase
hg qsave
hg qrestore 2