replace collectException(dirEntry()) idiom

- it used exceptions to handle non-exceptional
  situations only to avoid a stat call

NB:
The fact that it can't be done in an optimal way is really an API issue of [std.file.dirEntry](https://github.com/D-Programming-Language/phobos/blob/cee7de0103b77de7b36067486a71f45d5c21f78e/std/file.d#L2664).