scripts/shell: runner: (hopefully) improve error handling of the invoked command.

This is intended to catch Ctrl+C properly as well.
scripts/shell: improve debug (use single quotes).
scripts/urlops: add functions for URL escaping operations (rawurlencode and rawurldecode).
scripts/shell.utils: stage_lister_directory: do not inherit stage lister for subsession calls on directories.

The inherited stage lister may be specialized, thus unsuitable for directories.
Instead, use a special variable ${STAGE_LISTER_DIRECTORY}, defaulting to
stage_lister_directory.