os_readdir: mch/unix_expandpath() -> path_expand()

Merge unix_expandpath with dos_expandpath from upstream vim and refactor
for neovim's standards.

- Doxygen and `//`-style commenting.
- Localize variables.
- Use bool, size_t, etc.
- Use os_open/read/closedir.
os_readdir: fname_case -> path_fix_case

Use os_open/read/closedir().

fname_case() only gets used when `defined(USE_FNAME_CASE)` (on operating
systems with case-insensitive file systems), but may be useful in other
contexts, so move it to path.c. (See the TODO.)

Remove the unused parameter, len.