ci: include job log on failure of parallel_run
Created by: keegancsmith
If parallel_run fails we never say why since since the shellopt set -e
causes us to exist before catting the job log. This PR moves parallel_run into its own script which has better control over shellopts to ensure we always output the job log.
For example when lint fails it was hard to know which step. Now we know :)