I'm somewhat concerned about the portability of this fix, since I'm not certain that `EACCES` will be generated on all platforms.

Apart from that, in this PR are you specifically concerned with identifying access errors or do you just want any read error on the file to have the same result - returning an `UNREADABLE` entry? I feel like we may as well say *any* error that is not `ENOENT` and `ENOTDIR` (i.e. the file has been removed in the window since `readdir` returned the entry) should just get translated into this new `UNREADABLE` state. What do you think?