New logging support to "Trainer" Class (ClearML Logger)
Author: skinan
Pull request: yes

I have added a ClearML callback class to log experiments using `ClearML Task.` ClearML logger logs everything to ClearML WebUI. ClearML logs Hyperparameters, Scalars, Models, Checkpoints, and other necessary artifacts.  I request @sgugger  to review this pull request as it works with the `Trainer` class. The `integrations.py` contains the major contents of this pull request through the `ClearMLCallback` class. Some other small changes have been made to another set of files to maintain the integrity of the codebase, such as adding simple basic tests.

> ClearML is a leading MLOps stack that can supercharge HuggingFace Transformers training and tracking with its state-of-the-art experiment tracking capability. ClearML: https://clear.ml/

**What ClearML Experiment Manager can log? Everything! You just name it. Example Screenshots:**
![Screenshot from 2022-11-12 21-28-41](https://user-images.githubusercontent.com/46783803/201482999-be3d93cc-f815-4252-b18e-547fea46a09a.png)

![Screenshot from 2022-11-12 21-29-10](https://user-images.githubusercontent.com/46783803/201483021-1aa4a584-210a-43d4-a295-4cb00364cbe9.png)

![Screenshot from 2022-11-12 21-27-27](https://user-images.githubusercontent.com/46783803/201483025-90df7687-4646-4fe0-b84c-626bb8c590e4.png)
![Screenshot from 2022-11-12 21-28-13](https://user-images.githubusercontent.com/46783803/201483034-ed4ac684-0762-4b15-93d0-e55fa6e959e5.png)
![Screenshot from 2022-11-12 22-07-02](https://user-images.githubusercontent.com/46783803/201483201-b845e7ce-eb13-4829-b4b3-50ecb7281941.png)

![Screenshot from 2022-11-12 21-26-58](https://user-images.githubusercontent.com/46783803/201483065-b7c1cf39-b69e-4462-a702-659b8e0f2b23.png)
![Screenshot from 2022-11-12 22-06-34](https://user-images.githubusercontent.com/46783803/201483190-29999111-ffe8-443b-8adb-aebcc2519610.png)


![Screenshot from 2022-11-12 21-28-27](https://user-images.githubusercontent.com/46783803/201483040-9541982e-fcdc-44fb-a327-c859bec61e3b.png)
### 
**Example script to utilize ClearML Callback with Trainer:**

[trainer_with_clearml.zip](https://github.com/huggingface/transformers/files/9995390/trainer_with_clearml.zip)



Comments:
The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_20184). All of your documentation changes will be reflected on that endpoint.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_20184). All of your documentation changes will be reflected on that endpoint.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_20184). All of your documentation changes will be reflected on that endpoint.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_20184). All of your documentation changes will be reflected on that endpoint.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_20184). All of your documentation changes will be reflected on that endpoint.

@sgugger , We have made the changes according to your suggestions. Please have a look. Thank you for your co-operation.

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_20184). All of your documentation changes will be reflected on that endpoint.

I'm finding this integration very aggressive.
Basically, it seems to require that if the clearml python package is installed, you must have clearml set up in order to use huggingface.

We have optional clearml setup in our environment (with a private clearml server), but not using it in most situations at the moment.

This now started crashing with
```
File /usr/local/lib/python3.8/dist-packages/clearml/backend_api/session/session.py:180, in Session.__init__(self, worker, api_key, secret_key, host, logger, verbose, initialize_logging, config, http_retries_config, **kwargs)
    177     raise ValueError("ClearML host was not set, check your configuration file or environment variable")
    179 if not self._offline_mode and (not self.secret_key and not self.access_key and not self.__auth_token):
--> 180     raise MissingConfigError()
    182 self._ssl_error_count_verbosity = self.config.get(
    183     "api.ssl_error_count_verbosity", self._ssl_error_count_verbosity)
    185 self.__host = host.strip("/")

MissingConfigError: It seems ClearML is not configured on this machine!
To get started with ClearML, setup your own 'clearml-server' or create a free account at https://app.clear.ml/
Setup instructions can be found here: https://clear.ml/docs
```

EDIT: Now I realize that I missed that `report_to` in fact defaults to `all` and that's gist of the issue. The wording of the ClearML documentation implies quite a bit that it needs to be added to `report_to` manually, though, which confused me.

You should have seen a log informing you that `report_to` was defaulting to all tools installed (issued [here](https://github.com/huggingface/transformers/blob/3830b3f74a57b3bcf6f14016c483fb0bb14b01ce/src/transformers/training_args.py#L1218)). We should probably change it to a warning so that it's more visible, but the default will change in v5 of Transformers (from all to None).