Print stack trace on uncaught exception.

This patch causes uncaught exceptions to print a stack track to aid in debugging.  The meaning of the existing exit codes is preserved.

The code could be made simpler if Runner does not catch Exception, but that would mean rearranging the exit codes, since exit code 1 (which Ruby emits on an uncaught exception) is already used for ERRNO_USAGE.  Rearranging the exit codes would be a breaking API change.

Simpler still would be to eliminate the separate error codes, and use use exit code 1 for everything.  All of the exception handling in Runner could then be done in one rescue.  This would be a more-breaking API change.