[feat] Add FLAVA model
This PR aims to add [FLAVA](ihttps://arxiv.org/abs/2112.04482) model to the transformers repo.

Following checklist delineates the list of things to be done for this PR
to be complete:

- [x] Flava init
- [x] Flava base models
- [x] Flava layers
- [x] Flava Configs
- [x] Flava encoders
- [x] Flava pretraining models
- [x] Flava codebook
- [x] Flava feature extractors
- [ ] Flava classification/retrieval models (in progress)
- [x] Documentation updates 
- [x] Encoding utilities
- [x] Imports updates
- [x] Argstring updates
- [x] Flava pretrained checkpoints
- [x] Flava unit tests
- [x] Flava integration tests
- [x] Sanity check
- [x] Lint
- [x] Flava Processors



_The documentation is not available anymore as the PR was closed or merged._<|||||>@sgugger Thanks for your review on the PR. About lowercasing things, I followed what I saw in the repo as not all models were lower case. An example of this would be CLIP where classes are named as `CLIPConfig`, `CLIPTextEncoder` and so on. Would it be possible to keep `FLAVA` as uppercase?<|||||>`CLIP` was a mistake IMO, and it makes it harder on users to guess the right names of the models if we have different casings all the time. It's not because we make a mistake once we should repeat it again ang again just because there is a precedent ;-)<|||||>Hi! I was wondering if there are any updates on this and if this will be merged soon?<|||||>@kshitijkg This is almost ready and should land in the core soon.

@sgugger @patrickvonplaten This is ready for another round of review. I have resolved all of your comments except a few where I have asked clarifications. Hoping to land it soon. 