This is part XIX of cmd engine rewrite.
It's the last MR (for now) for setting success/failure return code on internal commands.
The remaining todo in this area are due to: - incompletly implemented builtin (eg: TYPE not handling multiple files, not wildcards; CHOICE missing a bunch of features; ...), - some commands (like START) being implemented as external executables, hence forcing RETURN CODE = ERRORLEVEL which is not always wanted,