Avoid use of os.Exit() in tool.go where possible.
Avoid use of os.Exit() in tool.go where possible.

It prevents usual cleanup idioms like deferrals and Cobra's PostRun
functions from executing. Instead, we rely on Cobra's RunE interface,
which allows returning errors from commands, which are propagated to the
top level and can be handled at the top level.

gopherjs/gopherjs,gopherjs/gopherjs,gopherjs/gopherjs,gopherjs/gopherjs,gopherjs/gopherjs