refactor(turborepo): Split up `Run` into `RunBuilder` and `Run` (#7681)
### Description
We're going to need access to the `Run` struct in watch mode, but
without the actual execution part. To facilitate this, I'm splitting it
up into a `RunBuilder` that builds all of the necessary data structures
and a `Run` that executes the build.
### Testing Instructions
<!--
Give a quick description of steps to test your changes.
-->
Closes TURBO-2583