feat: hook up process manager (#6043)
### Description
Hook up the process manager to the task graph visitor and start
executing tasks.
The PR includes some tangentially related changes that only impact our
terminal output during a run so it made sense to bundle in this PR.
### Testing Instructions
Run tasks using Rust!
```
[0 olszewski@chriss-mbp] /tmp/pnpm-test $ turbo_dev lint --experimental-rust-codepath
web:lint:
web:lint: > web@1.0.0 lint /private/tmp/pnpm-test/apps/web
web:lint: > next lint
web:lint:
ui:lint:
ui:lint: > ui@0.0.0 lint /private/tmp/pnpm-test/packages/ui
ui:lint: > eslint .
ui:lint:
docs:lint:
docs:lint: > docs@1.0.0 lint /private/tmp/pnpm-test/apps/docs
docs:lint: > next lint
docs:lint:
docs:lint: ✔ No ESLint warnings or errors
web:lint: ✔ No ESLint warnings or errors
```
You can also attempt running error integration tests specifically the
one that is useful is `tests/run/one-script-error.t` (via
`EXPERIMENTAL_RUST_CODEPATH=true .cram_env/bin/prysk --shell=bash
tests/run/one-script-error.t`) as it tests execution cancelling due to
errors and `--continue` usage. Note that the test won't pass as the task
cache and run summary isn't hooked up, but modulo those the logs are
matching.
Closes TURBO-1369
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>