Make transformers-cli cross-platform
Author: BramVanroy
Pull request: yes

Using `scripts` is a useful option in `setup.py` particularly when you want to get access to non-python scripts. However, in this case we want to have an entry point into some of our own Python scripts. To do this in a concise, cross-platfom way, we can use `entry_points.console_scripts`. This change is necessary to provide the CLI on different platforms (particularly also including Windows), which "scripts" does not ensure.

Usage remains the same, but the "transformers-cli" script has to be moved (be part of the library) and renamed (underscore + extension). So even though the script itself has been renamed to `transformers_cli.py` and moved to `src/commands`, its usage is still the same: `transformers-cli <args>`.

Tested on Ubuntu and Windows.


Comments:
# [Codecov](https://codecov.io/gh/huggingface/transformers/pull/4131?src=pr&el=h1) Report
> Merging [#4131](https://codecov.io/gh/huggingface/transformers/pull/4131?src=pr&el=desc) into [master](https://codecov.io/gh/huggingface/transformers/commit/1cdd2ad2afb73f6af185aafecb7dd7941a90c4d1&el=desc) will **decrease** coverage by `0.11%`.
> The diff coverage is `0.00%`.

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

```diff
@@            Coverage Diff             @@
##           master    #4131      +/-   ##
==========================================
- Coverage   78.85%   78.74%   -0.12%     
==========================================
  Files         114      115       +1     
  Lines       18688    18712      +24     
==========================================
- Hits        14737    14734       -3     
- Misses       3951     3978      +27     
```


| [Impacted Files](https://codecov.io/gh/huggingface/transformers/pull/4131?src=pr&el=tree) | Coverage Δ | |
|---|---|---|
| [src/transformers/commands/transformers\_cli.py](https://codecov.io/gh/huggingface/transformers/pull/4131/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9jb21tYW5kcy90cmFuc2Zvcm1lcnNfY2xpLnB5) | `0.00% <0.00%> (ø)` | |
| [src/transformers/file\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4131/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9maWxlX3V0aWxzLnB5) | `73.14% <0.00%> (-0.42%)` | :arrow_down: |
| [src/transformers/modeling\_tf\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4131/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ190Zl91dGlscy5weQ==) | `92.61% <0.00%> (-0.17%)` | :arrow_down: |
| [src/transformers/modeling\_utils.py](https://codecov.io/gh/huggingface/transformers/pull/4131/diff?src=pr&el=tree#diff-c3JjL3RyYW5zZm9ybWVycy9tb2RlbGluZ191dGlscy5weQ==) | `90.92% <0.00%> (-0.13%)` | :arrow_down: |

------

[Continue to review full report at Codecov](https://codecov.io/gh/huggingface/transformers/pull/4131?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/4131?src=pr&el=footer). Last update [1cdd2ad...3f8c3f5](https://codecov.io/gh/huggingface/transformers/pull/4131?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).


Thoughts @aaugustin?

Yes, this is the best way to provide a cross-platform command in a Python library.

See https://github.com/django/django/pull/2116 for another project making a similar change.

Alright, good for you @LysandreJik @thomwolf?