server: Throw 404 for files which don't exist.
server: Log errors if setgid or setuid fail.
client: Implemented a module dependency mechanism. Now the module build order for index.js doesn't have to be hard-coded.