process: handle errors

I wanted to try to read stderr and output it in the error message, but it ended up being a bit more trouble than I think it's worth - would have had either include Understream inside of the process stream (circular dependencies, yay) or duplicate some of the functionality that exists in `Understream.split`. I decided that for now just detecting these was good enough, but let me know if you disagree and think it's worth spending more time on.
In Node-land, the exit code is only process if we've exited "normally". If we're killed by a signal, it's null: http://nodejs.org/api/child_process.html#child_process_event_exit