Model templates
This PR adds a `cookiecutter`-based utility to generate configuration/modeling/tokenization files, the test suites and the statements across the library necessary for adding a new model.

This PR's goal is to make adding a new model way simpler, by having a simple CLI request information, generate files, that will then need to be edited to implement the changes relative to BERT. The test suites are implemented and run.

Left to do:
- [x] TensorFlow files
- [x] Tokenizer files
- [x] Remove the pooler from the base model
- [x] Ensure the documentation has the right format + .rst file
- [x] Clean-up/refactor the `add_new_model.py` file
- [x] Clarify and add comments to the "dark arts" parts of this PR, such as the `to_replace` file.
- [x] Add encoder-decoder models:
  - [x] Modeling PT file
  - [x] Configuration file
  - [x] Testing the modeling PT file
  - [x] Modeling TF file
  - [x] Testing the modeling TF file
  - [x] Update the RST with the appropriate files
  - [x] Add to all auto + init files
- [x] Run the CI on generated files
- [x] Update the LysBERT proposal to something better
- [x] Do a checklist of things left to do after running the script

Possible improvements:
- [ ] Ask the user whether they want to support `token_type_ids`

## For reviewers

If you review this PR, the simplest would be to review the `add_new_model.py` file, and to generate model files using the utility:
```
transformers-cli add_new_model
```
And review the generated files.
Reviewing the current files with `{{cookiecutter.lowercase_modelname}}` doesn't seem reviewer-friendly to me.