Remove process.exit() and setBlocking() calls
Remove process.exit() and setBlocking() calls

Until now we've been calling setBlocking(false) on stdout and stderr to
prevent the output from being truncated when the output of the program
was passed to another such as less, since process.exit() was being
called before all of the output from console.log() has been flushed.
However this caused an error when redirecting to a file, as those calls
are not available if the output is not a TTY.

Now, we simply avoid the process.exit() call if the program exits
successfully, only exiting with a non-zero code if an error occurs.

peterkelly/show-json,peterkelly/show-json