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.
It would be a bit weird to me if we ever got to this case. Every process exit should have a exit code in linux (I'm pretty sure). If we really want to print the signal maybe switch the order of the checks?