Add nvidia megatron models
# What does this PR do?

Add the megatron_gpt2 model. That model reuses the existing GPT2 model. This
commit includes a script to convert a Megatron-GPT2 checkpoint downloaded
from NVIDIA GPU Cloud. See examples/megatron-models/README.md for details.

Add the megatron_bert model. That model is implemented as a modification of
the existing BERT model in Transformers. This commit includes a script to
convert a Megatron-BERT checkpoint downloaded from NVIDIA GPU Cloud. See
examples/megatron-models/README.md for details.

@LysandreJik 


@LysandreJik - you'll see that the last test (marked 'slow') in tests/test_modeling_megatron_bert.py points to a checkpoint in examples/megatron-models (downloaded following the instructions described in examples/megatron-models/README.md). I was not sure how to deal with that so suggestions are welcome (for other items too ;)).<|||||>We have a few failing tests, let me break them down for you:

### build_doc

The build_doc is failing because of the following errors:
```
/home/circleci/transformers/docs/source/model_doc/megatron_bert.rst:document isn't included in any toctree
```

The `megatron_bert.rst` should be defined in the index of the docs :)

### check_code_quality

The error is:
```
2 files would be reformatted, 783 files would be left unchanged.
```

For this, you should install the quality tools: `pip install -e .[quality]` (from the root of the repo)
and run the following:
```
make fixup
```

This is going to fix some files, and tell you if there are errors it cannot resolve. If there are some, it should tell you how to fix them.

### run_test_flax, run_tests_tf, and run_tests_pipelines_tf

This is due to the following error:

```
____________ ERROR collecting tests/test_modeling_megatron_bert.py _____________
tests/test_modeling_megatron_bert.py:256: in <module>
    class MegatronBertModelTest(ModelTesterMixin, unittest.TestCase):
tests/test_modeling_megatron_bert.py:259: in MegatronBertModelTest
    MegatronBertModel,
E   NameError: name 'MegatronBertModel' is not defined
```

I think this comes from a missing `@require_torch` decorator on one of your tests. This decorator tells the suite that this test requires torch, and to not run this test if torch is not found as a dependency inside the environment.

If that's not it, then it may be that it's missing a dummy object. Running `make fix-copies` should fix this, but you should already have run this if you have done the fix mentioned above relative to the style/code quality.