Add FlexiBERT
# What does this PR do?

Implements the FlexiBERT suite of 3.32 billion transformer architectures (and also FlexiBERT 2.0 design space with 1.7 $\times$ 10<sup>88</sup> architectures). The design space supports *flexible* and *heterogeneous* transformer models with diverse attention types. The [paper](https://arxiv.org/abs/2205.11656) has been accepted for publication at the Journal of Artificial Intelligence Research. 

Fixes #20362

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#start-contributing-pull-requests),
      Pull Request section?
- [x] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [x] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [x] Did you write any new necessary tests?

## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@LysandreJik @sgugger 

## Tasks Completed

From those provided in the [add new model](https://huggingface.co/docs/transformers/add_new_model) contribute section

- [x]  (Optional) Understood the model’s theoretical aspects
- [x]  Prepared 🤗 Transformers dev environment
- [x]  Set up debugging environment of the original repository
- [x]  Created script that successfully runs the forward() pass using the original repository and checkpoint (Available in Demo Colab)
- [x]  Successfully added the model skeleton to 🤗 Transformers
- [x]  Successfully converted original checkpoint to 🤗 Transformers checkpoint
- [x]  Successfully ran forward() pass in 🤗 Transformers that gives identical output to original checkpoint
- [x]  Finished model tests in 🤗 Transformers
- [x]  Successfully added tokenizer in 🤗 Transformers
- [x]  Run end-to-end integration tests
- [x]  Finished docs
- [x]  Uploaded model weights to the Hub (at this [link](https://huggingface.co/shikhartuli/flexibert-mini), shall add more models soon)
- [x]  Submitted the pull request
- [ ]  (Optional) Added a demo notebook 

Thanks so much!
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.<|||||>The PR was closed by bot. Please reopen the PR and let me know if anything needs to be done to merge the PR.