chore: minor task cache changes (#5838)
### Description
This PR can be reviewed by commit and contains the following changes:
- Changing use of `Rc` into `Arc` in `TaskCache`, this allows us to send
the task cache across tokio tasks.
- Alterations to the task cache constructor: the
`task_dir`/`workspace_dir` that we get from the package graph will be a
repo_root anchored system path and we can derive the log file path from
the information that is already sent in instead of [calculating it
elsewhere like we do in
Go](https://github.com/vercel/turbo/blob/main/cli/internal/graph/graph.go#L239).
- Make `RunCache`/`TaskCache` accessible to the rest of the crate along
with the so that the task graph visitor can operate on them. The changes
to the visibility of the methods on `TaskCache` now match the Go
implementation.
### Testing Instructions
Primarily 👀 as these are just minor changes to allow for the task cache
to be used by the task graph visitor
Closes TURBO-1285
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>