This is part XXV of command engine rewrite.
This MR tackles three items: - fixing some corner cases in variable expansion. Note, there's still todo_wine in the non regression tests, but I don't feel like fixing them for now (like an un-paired ! within double quotes when delayed expansion is enabled - which behaves differently then not within double quotes) - breaking out of FOR loops with 'EXIT /B'. I'm damn sure I dealt with this earlier on, it likely fails into the cracks during some rebase. - somme builtin commands behave differently when run from .BAT or .CMD files.