Improve setup and requirements
- Clean up several requirements files generated with pip freeze, with no clear update process
- Rely on extra_requires for managing optional requirements
- Update contribution instructions
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=h1) Report
> Merging [#2271](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/23dad8447c8db53682abc3c53d1b90f85d222e4b?src=pr&el=desc) will **decrease** coverage by `0.58%`.
> The diff coverage is `n/a`.

[![Impacted file tree graph](https://codecov.io/gh/huggingface/transformers/pull/2271/graphs/tree.svg?width=650&token=9qOlN6Hb1c&height=150&src=pr)](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=tree)

```diff
@@            Coverage Diff             @@
##           master    #2271      +/-   ##
==========================================
- Coverage   74.27%   73.68%   -0.59%     
==========================================
  Files          85       87       +2     
  Lines       14610    14791     +181     
==========================================
+ Hits        10851    10899      +48     
- Misses       3759     3892     +133
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/commands/user.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb21tYW5kcy91c2VyLnB5) | `0% <0%> (ø)` | |
| [src/transformers/commands/serving.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb21tYW5kcy9zZXJ2aW5nLnB5) | `0% <0%> (ø)` | |
| [src/transformers/tokenization\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy90b2tlbml6YXRpb25fdXRpbHMucHk=) | `92.27% <0%> (+0.96%)` | :arrow_up: |
| [src/transformers/modeling\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl91dGlscy5weQ==) | `93.12% <0%> (+1.58%)` | :arrow_up: |
| [src/transformers/pipelines.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9waXBlbGluZXMucHk=) | `68.31% <0%> (+2.32%)` | :arrow_up: |
| [src/transformers/data/processors/squad.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9kYXRhL3Byb2Nlc3NvcnMvc3F1YWQucHk=) | `35.97% <0%> (+6.6%)` | :arrow_up: |
| [src/transformers/modeling\_tf\_auto.py](https://codecov.io/gh/huggingface/transformers/pull/2271/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl9hdXRvLnB5) | `32.14% <0%> (+7.14%)` | :arrow_up: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=footer). Last update [23dad84...10724a8](https://codecov.io/gh/huggingface/transformers/pull/2271?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
