Begin to port Node.js tests, break tests into smaller files using require

I've begun the work to port the node.js tests.  The easiest way to do it is to do it per file, since they have their tests in many files, see https://github.com/joyent/node/tree/master/test (most of what we want is in `simple/`).  This patch ports 2 of those files: `test-fs-mkdir.js` and `test-fs-null-bytes.js'.  To make this easier to do in pieces, I've also ported all the tests over to use require.  This has the nice effect that you don't have to build anymore in order to run the tests (I build `fs.js` using require in the test runner).

All tests to be loaded/run are specified in `tests/test-manifest.js`, so it's easy to add new files and hook new tests in.

I've also fixed some bugs (mostly just matching how node.js works vs. real bugs per se) I found while porting these node tests, including:

* dealing with null bytes in path names
* adding support for node.js' calling pattern which leaves off callbacks

I'll do future ports in smaller PRs by doing per-file work.