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.
To run the tests, do:cd tests/python run-tests.pySee http://www.selenic.com/mercurial/wiki/index.cgi/WritingTests formore information on writing tests.