offline mode for firewalled envs
This PR implements the proposal from https://github.com/huggingface/transformers/issues/10379 to enable transformers to cache everything it needs and then run in the offline mode - e.g. in a firewalled environment.

This PR:

* [x] adds `is_offline_mode()` helper function that returns `True` when env var `TRANSFORMERS_OFFLINE` is set to `1/YES/ON`
* [x] automatically sets `local_files_only=True` in all 3 `from_pretrained()` methods
* [x] handles `ntlk` download dynamically in `run_seq2seq.py`
* [x] adds offline test (thanks to @lhoestq for the idea for mocking no network in the test) 
* [x] adds doc

This is to match the recently added `HF_DATASETS_OFFLINE=1` in `datasets` (https://github.com/huggingface/datasets/pull/1976). Tested that both work well together.

So now we can run with the network:
```
python examples/seq2seq/run_seq2seq.py --model_name_or_path t5-small --dataset_name wmt16 --dataset_config ro-en ...
```
and then with the same filesystem w/o the network or w/ a firewalled network:
```
HF_DATASETS_OFFLINE=1 TRANSFORMERS_OFFLINE=1 \
python examples/seq2seq/run_seq2seq.py --model_name_or_path t5-small --dataset_name wmt16 --dataset_config ro-en ...
```
and the latter succeeds since step 1 had all the data pre-fetched and cached.

@sgugger, @LysandreJik 
> The constant should be documented in the install page, in the section about caching models I think (https://huggingface.co/transformers/installation.html#caching-models).

Great idea, @sgugger. Please kindly check the doc I added is good when you get a chance.

And also the kind of test I had to add is unorthodox too, so please see if it works for you. The original version couldn't have worked.

Thank you!