Ensure that the command line always exits with the correct error code.
Ensure that the command line always exits with the correct error code.

In the previous implementation if stdout and stderr drain before the
callback is created it will exit with a 0 status even on a failure.

AsaAyers/testing-default-branch,zmbush/coffeelint,mitar/coffeelint,sgentle/coffeelint,cskeppstedt/coffeelint,machadoit/coffeelint,sagemathinc/coffeelint-cjsx,lydell/coffeelint,clutchski/coffeelint,swang/coffeelint,emorikawa/coffeelint-cjsx,AsaAyers/coffeelint