Add SimMIM
# What does this PR do?

This PR adds an `AutoModelForMaskedImageModeling` API to the library with a corresponding `run_mim.py` script. 

It allows to pre-train the following Transformer-based vision models:

* ViT
* DeiT
* BEiT
* Swin Transformer

based on Microsoft's cool (and simple) [SimMIM](https://arxiv.org/abs/2111.09886) paper (note that this won't work for convolution based models such as ConvNeXT).

This requires a tiny tweak in each modeling file, unfortunately. However, it's quite minimal, namely I added the ability to add a `mask_token` trainable parameter. This is a bit different compared to NLP models, which have the mask token inside their embedding layer (`nn.Embedding`).

The `run_mim.py` script is directly inspired by `run_mlm.py`, but adapted to work for vision.


_The documentation is not available anymore as the PR was closed or merged._<|||||>Updated the PR to not include BEiT.