Set errno properly while walking directories

The function `cork_walk_one_directory` now handles calls to `readdir`
properly be setting `errno` to zero before each call.  This is
necessary due to the ambigous way `readdir` uses NULL as a return
value.  A function may set `errno` to a non-zero value yet return
normally.  Since `readdir` depends on `errno` to indicate an error,
it needs to be reset prior to each call.
Merge branch 'feature/readdir-errno' into develop

* feature/readdir-errno:
  Set errno properly while walking directories