fix(providers): match the wrapper the cloud lane raises
The cloud lane raises openhands.sdk.llm.exceptions.types.LLMBadRequestError, not litellm.exceptions.BadRequestError, so real Gemini 400s recorded unknown; the wrapper carries no status_code.
The match folds into the existing cloud-gated rejection arm as a name-equality condition, kept below the _CONTEXT_WINDOW_PATTERNS message check so an LLMBadRequestError carrying a context-overflow message still classifies as context_window_exceeded (cap 2, retryable) rather than being mislabeled a defect in sol. The litellm status-code condition stays reachable in the same arm.