refactor: Fail closed on invalid relationships (#13599)
## Summary
- Return explicit errors when relationship projections receive unknown
package identities.
- Propagate projection failures through engine construction and scope
queries while affectedness conservatively selects all packages or tasks.
- Keep GraphQL fallback reasons generic, prevent partial task results,
and support root tasks without exposing the synthetic root as a package.
- Add regression coverage for unknown packages and invalid task globs.
## Testing
- `cargo fmt --all -- --check`
- `cargo test -p turborepo-repository`
- `cargo test -p turborepo-query`
- `cargo test -p turborepo-lib task_change_detector`
- `cargo test -p turbo --test relationship_projection_contract`
- `cargo clippy -p turborepo-types -p turborepo-repository -p
turborepo-engine -p turborepo-scope -p turborepo-query -p turborepo-lib
-p turbo --all-targets -- -D warnings`
- Pre-push hooks