fix incorrect warning when walking on a particular rev
when a directory was given instead of a file it reported
incorrectly 'No such file or directory in rev <rev>'
we test if the file is a prefix directory
% file replaced with directory
adding a
% should fail - would corrupt dirstate
abort: file named 'a' already in dirstate
% directory replaced with file
adding a/a
% should fail - would corrupt dirstate
abort: directory named 'a' already in dirstate
% directory replaced with file
adding b/c/d
% should fail - would corrupt dirstate
abort: directory named 'b' already in dirstate