New CLI using Typer
## Summary
First pass at a New CLI using [Typer](https://typer.tiangolo.com/)
**745** total lines of code vs 917 for the old CLI, only adding one (optional) dependency (Typer) which is well documented/supported and has 99% test coverage.

Currently, this mostly keeps the same option names for each command but I think we should have a discussion on using CLI Arguments vs Options.

Didn't put a ton of work into actual refactors around defining what should be an Argument and what should be an Option yet, wanted to get some eyes on this before putting in too much time.

In short, my position is everything that's required for a command to run should be an Argument and should be documented in the docstring which is automatically included in the help info

Good information here about using Arguments over Options https://typer.tiangolo.com/tutorial/arguments/#about-cli-arguments-help whenever there are required values.

## Usage
```
pip install transformers[new-cli]
```

and adds the console_script transformers so users can run commands with (e.g.):

```
transformers login
```

or:

```
transformers serve ner
```


 

Closing as discussed in https://github.com/huggingface/transformers/issues/2959#issuecomment-619214142