dirstate: fix rebuild; add a test
If rebuild calls invalidate, it will just queue a (re)read of the dirstate
file, while what we really want is to empty the current state.
#!/bin/sh
hg init a
cd a
hg init b
echo x > b/x
echo '# should print nothing'
hg st
echo '# should print ? b/x'
hg st b/x
hg add b/x
echo '# should print A b/x'
hg st
echo '# should forget b/x'
hg revert --all
echo '# should print nothing'
hg st b