Added try/catch to shutdown function calls so that unhandled exceptions do not prevent shutdown
Added an option for timeout on waiting for async promises to complete
Added exit code as parameter to _shutdown so that the exit code on successful shutdowns can be preserved
Updated SIGINT and SIGTERM to return the same values as the Node default behavior (128+signal)
Updated to return exit code of 255 on unhandled exception cases
Added option for a timeout so that failed shutdown attempts still terminate in a reasonable time
Version bump