Grunt should not explicitly exit

I removed any calls to process.exit().  I removed the util.exit module--it was a hack to enabled to grunt to work with pipes, but it broke again with node 0.10.

__Summary of changes:__

The exit code and whether grunt failed are now stored.  If grunt fails, no more tasks will run, but the process will end naturally.  There is a process.on('exit') function that ensures that the proper exit code is used.