Adjust the way we handle root searches.

If we see a valid candidate, then see a non-matching directory, use our best
candidate at that point rather than continuing to search for a higher
candidate.

This is all to deal with old SVN-style ".svn directory in every subdir", but
SVN doesn't do that any more, so maybe I should just ditch it and avoid all the
complexity...