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.
error: pretxncommit.nocommits hook failed: no commits allowed
abort: no commits allowed
transaction abort!
rollback completed
error: pretxncommit.nocommits hook failed: no commits allowed
abort: no commits allowed
transaction abort!
rollback completed