Build and throw a standardised Google request error.
Both the !res.ok path (native fetch) and the catch path (gaxios)
funnel through here so the caller always sees the same shape.
_throwRequestError(
status: number,
body: string | undefined,
response: unknown,
context: __type
): never