Multiple eval datasets can only use last dataset for best checkpoint
I have a setup where I evaluate the model on several datasets and only the metrics from the last dataset can be used. The [code from Trainer](https://github.com/huggingface/transformers/blob/559a45d1dc1f46d6e9942cdc9ff5eef5a811a59d/src/transformers/trainer.py#L2234) looks like:

```python
 if self.control.should_evaluate:
            if isinstance(self.eval_dataset, dict):
                for eval_dataset_name, eval_dataset in self.eval_dataset.items():
                    metrics = self.evaluate(
                        eval_dataset=eval_dataset,
                        ignore_keys=ignore_keys_for_eval,
                        metric_key_prefix=f"eval_{eval_dataset_name}",
                    )
            else:
                metrics = self.evaluate(ignore_keys=ignore_keys_for_eval)
            self._report_to_hp_search(trial, self.state.global_step, metrics)

        if self.control.should_save:
            self._save_checkpoint(model, trial, metrics=metrics)
````


Only the last metric is used, when datasets are passed as a `Dict[str, Dataset]`
Is this a bug?
A possible fix:
````python

if self.control.should_evaluate:
            if isinstance(self.eval_dataset, dict):
                metrics = {}
                for eval_dataset_name, eval_dataset in self.eval_dataset.items():
                    dataset_metrics = self.evaluate(
                        eval_dataset=eval_dataset,
                        ignore_keys=ignore_keys_for_eval,
                        metric_key_prefix=f"eval_{eval_dataset_name}",
                    )
                    metrics.update(dataset_metrics)
            else:
                metrics = self.evaluate(ignore_keys=ignore_keys_for_eval)
            self._report_to_hp_search(trial, self.state.global_step, metrics)

        if self.control.should_save:
            self._save_checkpoint(model, trial, metrics=metrics)
```

````
Please, close this if this is the intended behavior. If it's not I can submit a pr with fixes.
It's possible there is a bug, so please open a PR if you think you have the right fix!