Checkpoint refactoring for Multiple Models
Hi, thank you for providing an example @sgugger 
Linked to #10193, this PR refactors the checkpoint names in one private constant. 
A couple notes:
- I refactored most of the modeling files, however I excluded the modeling_tf_*.py files for now.
- The bare Distilbert foward pass has two add_code_sample_docstrings decorators, I wanted to check for confirmation that its redundant.
- funnel, gpt and squeeze bert all have 2 checkpoint models for different tasks, so I left those alone.





Fixes #10193


## 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/master/CONTRIBUTING.md#start-contributing-pull-requests),
      Pull Request section?
- [x] 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/master/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/master/docs#writing-source-documentation).
- [ ] Did you write any new necessary tests?



> Thanks a lot for the PR!
> 
> We can do the TF models in another PR, I'm completely fine with that. Regarding your other comments:
> 
> * funnel is a special case indeed, so it's fine to leave it as it for now.
> * for squeezebert, you can just use "squeezebert/squeezebert-uncased" everywhere
> * for gpt I didn't see two checkpoints, just one.
> * for distilbert, the duplicate `add_code_ample` decorator should be removed.
> 
> One last thing, you added a `datasets` submodule in your PR that you should remove before we can merge it.

oo sorry about that Ill remove the datasets and clean up the rest, so GPT2 has 2 checkpoints("gpt2" and for sequence classification..
```
    @add_code_sample_docstrings(
        tokenizer_class=_TOKENIZER_FOR_DOC,
        checkpoint="microsoft/dialogrpt",
        output_type=SequenceClassifierOutputWithPast,
        config_class=_CONFIG_FOR_DOC,
    )
```<|||||>Ok for GPT2, you can leave this checkpoint and just refactor the traditional "gpt2" in the other places then.<|||||>Oh no, it looks like the rebase messed with GitHub and the diff. Do you think you could close this PR and open a fresh one on your branch?

Also, for the next step #10424 contains an example of what I was envisioning for the "# Copied from", if it still interests you to work on this part in a second stage. The PR needs to be merged before you work on it because there is some fixes in our check_copies script inside.<|||||> sure no problem, Ill include the TF modeling files as well in the next pull request.