Smdistributed trainer
# What does this PR do?

This PR adds support for the variant of `torch.distributed` developed by AWS on SageMaker (`smdistributed`). It's been tested to work on the `run_glue` example.

The main steps are:
- to replace all operations from the `torch.distributed` module by their equivalent in `smdistributed.torch.distributed`.
- use their wrapper for the model instead of `DistributedDataParallel`.
Very cool integration.🚀  🚀 🔥 🔥 
I'm doing some tests over the day for single-GPU and multi-GPU and let you know if I find something strange