Trainer: Make `best_model_checkpoint` path in `trainer_state.json` relative to `args.output_dir`
# 🚀 Feature request
An enhancement of `best_model_checkpoint` for more robustness.
<!-- A clear and concise description of the feature proposal.
     Please provide a link to the paper and code in case they exist. -->
Currently `Trainer.state.best_model_checkpoint` holds absolute path to the best checkpoint when `Trainer.args.load_best_model_at_end=True` is passed.  
It can be useful if `Trainer.state.best_model_checkpoint` value is relative to `Trainer.args.output_dir`
## Motivation

**Absolute path hinders portability** of the trained models.  
For example, if a user wants to continue _previous training_ using argument `resume_from_checkpoint` for `Trainer.train`, not having the `output_dir` exactly same as the _previous training_ (eg- renaming of any directory in the path) can break the `load_best_model_at_end` functionality due to the previous absolute paths being no longer valid.
<!-- Please outline the motivation for the proposal. Is your feature request
     related to a problem? e.g., I'm always frustrated when [...]. If this is related
     to another GitHub issue, please link here too. -->

## Your contribution

I can raise a PR if this is a useful change to have!
<!-- Is there any way that you could help, e.g. by submitting a PR?
     Make sure to read the CONTRIBUTING.MD readme:
     https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md -->

I think this would a very welcome change indeed, so please work on that if you have time and if it's something you'd like to do!<|||||>This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the [contributing guidelines](https://github.com/huggingface/transformers/blob/master/CONTRIBUTING.md) are likely to be ignored.