feat(turborepo): Spaces (#6109)
### Description
Implements spaces and run summary. Does not hook up task summaries to
the actual execution
Notes:
- There are now two main groups of structs: Trackers and Summaries.
- Trackers are created *before* the run and consist of mostly channels
and join handles.
- Summaries are constructed *after* the run and have all of the data in
the dry run representation.
- I put a lot more data into `Visitor`, so it can then construct the
summaries. This hopefully reduces the amount of functions with a lot of
parameters. However, it does mean that constructing the summary moves
the visitor. Debatable if that's good or not.
- Refactored `APIAuth` and `APIClient` to be a single instance that is
`Arc`'d
### Testing Instructions
Added tests for rust codepath to integration tests
Closes TURBO-1426
---------
Co-authored-by: nicholaslyang <Nicholas Yang>