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.
adding bar
adding foo
% state dump
a 644 0 baz
n 644 0 foo
r 0 0 bar
% status
A baz
R bar
C foo
% state dump
n 666 -1 bar
n 666 -1 foo
% status
! bar
? baz
C foo