Don't use `process.exit` on a normal successful exit.

The `process.exit` function completes abruptly and immediately, but
sometimes there is outstanding "stuff" which node still needs to do
(actually closing files, etc).  In theory this shouldn't matter, but
in practice it seems to: we occasionally end up with truncated files.

Change-Id: Id289c91cbc98ea9d0767498dbbc86b9df12b8523