WIP: Pathing fixes/improvements (mostly for Windows)

Work in progress. Any feedback is appreciated.

Note that the issue fixed by https://github.com/squeek502/luvit/commit/01c8a864da62608c78b2d71a7ffbca42cf013be8 was making the test runner unable to spawn child processes correctly, resulting in the inability to run any tests at all (all tests would have the exit code -1 and no stdout/stderr data).

Note also that I'm (mostly) trying to conform to the [node.js path test cases](https://github.com/joyent/node/blob/master/test/simple/test-path.js).