[RFC] os_open/read/closedir()

Moves `unix_expandpath()` and `fname_case()` out of `os_unix.c`. Since they no longer require unix, I renamed them `path_expand()` and `path_fix_case()`.

This PR would benefit from upgrading libuv learns `uv_fs_readdir_next()` in `v0.11.29` (we use `28`) it changes the interface to `uv_fs_readdir()` and breaks the code as I have it written. In other words, either we upgrade now and hope they don't break anything again, update this code when we do upgrade, or not integrate this PR until `uv_fs_readdir()` has stabilized (which it may or may not already have).