scripts/shell: runner: in dry-run mode, skip argument parsing and use default type parser.

Both these steps can possibly execute meaningful code. We need to skip it.
The only thing we need from type parsing in dry-run mode is nested runner
commands for directories. This can be accomplished using default type parser
and without parsing arguments.
hooks/fancy: rename report_warning to report_warn.
scripts/shell: runner: support removing state files by RESET_STATE environment variable.