Mark Cache Components prefetch requests with purpose/prefer headers
Adds two headers to the prefetch requests issued by the Segment Cache, so that infrastructure deployed in front of the application server (e.g. a CDN or proxy) can identify prefetch requests and decide how to handle them:
- `purpose: prefetch` is sent on every Cache Components prefetch request.
- `prefer: return=minimal` is sent on requests that fetch the route's reusable shell and must not trigger regeneration of a partial fallback: the route tree request, the App Shell (RuntimeShell) request, and per-segment requests on routes that haven't opted into Partial Prefetching.
- `prefer: return=representation` is sent on speculative requests that fetch data beyond the reusable shell and may trigger regeneration of a partial fallback: per-segment requests on routes that opted into Partial Prefetching, and runtime prefetch requests.
Legacy "full" prefetches (`prefetch={true}` on a route without Partial Prefetching) don't get either header — by design they must remain indistinguishable from the navigation request they stand in for. Navigation requests are likewise unchanged.