Restore pre-3.6 compliance behavior for commands promises.

Commands that exit with 0 result in a repaired promise, unless the
return code interpretation is explicitly overriden via body classes
attributes.

This effectively reverts ce463506e4795f1007a31720afd3300de9bca18e,
adds commentary for generations to come.

Redmine #5761
Merge pull request #1710 from vohi/commands_repaired

Restore pre-3.6 compliance behavior for commands promises.