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
Expand variable name, add comment and fix tests.
Merge pull request #5072 from cakephp/issue-5063

Fix bake & other shells exiting incorrectly.