Exit with the return code provided by executable

When supernova finishes running the executable, it eats the return code
that the executable provides.  This patch ensures that supernova returns
the appropriate return code whether or not that code comes from
supernova itself or the executable.

Fixes #59