scripts/parser: move helper functions to global scope.

Anyway we don't care too much about the global namespace pollution.
Perhaps if Bash would have proper namespaces...
scripts/parser: add a parser for systemd-style arguments embedded into filename.

Multiple arguments are supported (separated by comma or user-provided
characters).
scripts/shell: separate helper functions (stage listers and type parsers) into scripts/shell.utils.
scripts/shell{,.utils}: support systemd-style arguments in stages.

Also we now support spaces in stage names (however, at the cost of
supporting '|' symbols in stage names, since they are our new
delimiters).