Feature/re chdir on restart

I hadn't noticed this before. Wouldn't `done` being called twice be an important bug to catch, rather than ignore? Maybe `var error = once(done);` and use the `error` version as the error handler instead of `done`? Maybe that misses some other case...

I can't actually come up with a code path that has a bug that this hides, there's just something about it that doesn't smell right..