Make tokenization_mistral_common importable without mistral_common installed
Author: juliendenize
Pull request: yes

<!-- ci-dashboard-badge:start -->
[![CI](https://transformers-ci.lor-e.huggingface.cool/badge/pr?pr=47397)](https://transformers-ci.lor-e.huggingface.cool/d/pytest-observability-by-pr/pytest-observability-branch?var-pr=47397)
<!-- ci-dashboard-badge:end -->

# What does this PR do?

`src/transformers/tokenization_mistral_common.py` referenced `mistral_common`-only symbols at **import time**, so importing the module raised `NameError` when `mistral_common` was not installed. The offending references were:

- the module-level `_MAP_SPECIAL_TOKENS` dict (`SpecialTokens.*`),
- default arguments `mode: ValidationMode = ValidationMode.test` in `__init__` and
  `from_pretrained`,
- function-signature annotations referencing `ValidationMode` / `ReasoningEffort`  (evaluated at definition time, since the module has no   `from __future__ import annotations`).

These symbols are only imported inside the `if is_mistral_common_available():` block, so without `mistral_common` they are undefined at module scope.

This is a latent robustness fix: the public API currently only imports this module behind and `is_mistral_common_available()` guard, so the crash is not reachable through normal `AutoTokenizer` usage today. The change makes the module safe to import unconditionally.

## Code Agent Policy

The Transformers repo is currently being overwhelmed by a large number of PRs and issue comments written by
code agents. We are currently bottlenecked by our ability to review and respond to them. As a result, 
**we ask that new users do not submit pure code agent PRs** at this time. 
You may use code agents in drafting or to help you diagnose issues. We'd also ask autonomous "OpenClaw"-like agents
not to open any PRs or issues for the moment.

PRs that appear to be fully agent-written will probably be closed without review, and we may block users who do this
repeatedly or maliciously. 

This is a rapidly-evolving situation that's causing significant shockwaves in the open-source community. As a result, 
this policy is likely to be updated regularly in the near future. For more information, please read [`CONTRIBUTING.md`](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md).

- [x] I confirm that this is not a pure code agent PR.

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#create-a-pull-request),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [ ] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [x] Did you write any new necessary tests?

## Who can review?

tokenizers: @ArthurZucker @itazap

Comments:
<!-- ci-dashboard-recap:start -->

---

### CI recap

**Dashboard:** [View test results in Grafana](https://transformers-ci.lor-e.huggingface.cool/d/pytest-observability-by-pr/pytest-observability-branch?var-pr=47397)
**Latest run:** [29640458203:2](https://github.com/huggingface/transformers/actions/runs/29640458203)
**Result:** `success` | **Jobs:** 2 | **Tests:** 19 | **Failures:** 0 | **Duration:** 1m 36s

<!-- ci-dashboard-recap:end -->