[15.5.x][ci] Port sccache fallback from #91873/#92911/#93164/#94319 (#94848)
### Why?
Stacked replacement for #94844. This is the top PR in the `next-15-5`
backport stack and is based on #94847.
This was discovered while investigating the fork PR CI failure on
#94829.
Fork PRs to `next-15-5` do not receive `secrets.TURBO_TOKEN`, but the
pinned `ijjk/rust-cache` action throws when `TURBO_TOKEN` is missing.
Canary no longer uses that action for these Rust cache paths; it starts
the local `sccache` action and only configures Vercel Artifacts when a
token is available.
This ports the fork-safe cache behavior from canary without taking the
broader native-builder and workflow rewrites from the source PRs.
Source PRs / ported parts:
- #91873: add the local `.github/actions/sccache` action and move Rust
workflows off `ijjk/rust-cache`.
- #92911: install `cargo-binstall` and use the `vercel/sccache`
cargo-binstall path.
- #93164: keep the Vercel Artifacts token/team wiring used by canary.
- #94319: remove the remaining `build_and_deploy.yml` `ijjk/rust-cache`
step.
### How?
- Add the canary `.github/actions/sccache` action and install
`cargo-binstall` from `setup-rust`.
- Replace the remaining `ijjk/rust-cache` usage in reusable Rust
workflows with the local `sccache` action.
- Remove the remaining `build_and_deploy.yml` rust-cache step so fork
PRs do not load the token-requiring external action.
<!-- NEXT_JS_LLM_PR -->