abstract out shell script creation
Shell scripts are generated in quite a fragile way right now.
Real gitlab runner has a more general set of classes that generate steps for each kind of shell. We should do similar to make it easier to support other shells (such as the now default pwsh which we do not support yet)
- for each of sh, bash, cmd, powershell
- echo commands before running
- escape strings for above echo
Edited by Ian Norton