feat(run outline): Hide package graph internals (#5310)
### Description
Slight refactor to hide internals of the package graph and instead have
the `CompleteGraph` hold a reference to the entire package graph and use
methods to query the required information. I intend for
`WorkspaceCatalog` to get lazily built by `CompleteGraph` as it is used
during the execution of `run`.
There are a few clippy fixes in this as well 😄
### Testing Instructions
👀
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>