Add GreaseLM model
# What does this PR do?
Adds GreaseLM model. For more details, see https://github.com/snap-stanford/GreaseLM and https://arxiv.org/abs/2201.08860

For a quick check, see this [colab](https://colab.research.google.com/drive/19ePb4fZysn45wkhzAzOlcDSEWAGnSgto)
CommonSenseQA [validation](https://colab.research.google.com/drive/17Qy6X_rY3qRzetFS1znGmdS1JyP25jOO) set results. 
OpenBookQA [validation](https://colab.research.google.com/drive/1RAkGV-KBVq1FOOpLt_MnZ_z9aZlNPVW7) set results.
OpenBookQA [test](https://colab.research.google.com/drive/18SXxMPMvr98JwsqTVKjNe-Dif3XEXuqs) set results.
Results for both OpenBookQA and CommonSenseQA match the reported results from the original repo. 

## To do:
- [x] Make sure all documentation and tests are up to HF standards
- [x] Needs careful review due to ~~two~~ three soft dependencies: spacy, torch_scatter and torch_sparse

@LysandreJik @NielsRogge 
The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_17146). All of your documentation changes will be reflected on that endpoint.<|||||>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/main/CONTRIBUTING.md) are likely to be ignored.