Model card defaults
# What does this PR do?

This PR adds some better defaults to the auto-generated model cards for:
- the dataset names and tags
- the checkpoint it's fine-tuned from
- the type of task 

As an example, on the classic fine-tuning of bert using the Trainer on GLUE, this is what we get for the metadata without telling the Trainer anything:
```
---
license: apache-2.0
datasets:
- glue
metrics:
- accuracy
- f1

model-index:
- name: finetuned-bert
  results:
  - task:
      name: Text Classification
      type: text-classification
    dataset:
      name: glue
      type: glue
      args: mrpc
    metrics:
      - name: Accuracy
        type: accuracy
        value: 0.8431372549019608
      - name: F1
        type: f1
        value: 0.8915254237288135
---
```

As a side note, the implementation completes the worked begun for a file with the mapping of the auto model names (to avoid importing all models) in order to properly guess the class name.
Hi @sgugger , really cool feature :+1: 

It would also be a good feature to distinguish between dev and test score :)<|||||>@LysandreJik yeah no let's not add it as it's not required

Will be easier to maintain a mapping on the hub's side if it's not (needlessly) overridden. cc @osanseviero cf. https://github.com/huggingface/huggingface_hub/pull/109 in "How is a model's type of inference API and widget determined?"