ensure failures on pipes and subcommands

Makefile makes a new shell instance for each new line.
If xcodebuild failed with 65, we were still exiting with 0
Merge remote-tracking branch 'upstream/master' into capture-args-pointer