rhg: Propagate permission errors when finding a repository
The Rust standard library has a `Path::is_dir` method that returns false
for any I/O error (such as a permission error),
not just "No such file or directory".
Instead add an `is_dir` function that returns false for non-directories
and for "No such file or directory" errors, but propagates other I/O errors.
Differential Revision: https://phab.mercurial-scm.org/D11230
#require docutils gettext
Error: the current ro localization has some rst defects exposed by
moving pager to core. These two warnings about references are expected
until the localization is corrected.
$ $TESTDIR/check-gendoc ro
checking for parse errors
gendoc.txt:58: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.
gendoc.txt:58: (WARNING/2) Inline interpreted text or phrase reference start-string without end-string.