Fix bake & other shells exiting incorrectly.

If a shell command method returns `null`, we should treat the command as successful. Only when a shell returns `false` should we exit non-zero.

Refs #5063
:+1: what @ravage84 says. I'm not sure - without looking up more code - what thing $r normally is. Is it a response? A request? Just a variable?