Paralellize test runs (Fixes #2980)

Also makes the build step a separate `script` step (makes it easier to collapse, and keeps the script files solely for testing)