dirstate: better error messages when dirstate is corrupted
The current error message "Overflow in dirstate" sounds confusing
because it suggests either a certain size limit that's being exceeded,
or integer arithmetic overflowing. The reality is just a file being shorter
than expected.