Register BERT model config for Jarvis
awesome!! This pull request **introduces 2 alerts** when merging 12122b266f59f46f76414748c73da675f830ec03 into a711ca1ad2987797b1e80ac9b0ffd7479c0a4730 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-cf2265463b3732f561da98b7d2b7b43d39332d52)

**new alerts:**

* 2 for Unused import This pull request **introduces 2 alerts** when merging 46b256d87db223294478f98dac0619c4d964452a into a711ca1ad2987797b1e80ac9b0ffd7479c0a4730 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-9b15b496347258ec100ac86d6420295375459224)

**new alerts:**

* 2 for Unused import This pull request **introduces 2 alerts** when merging 176b240529c2007c0807ae1c46a053532b1dccd8 into a711ca1ad2987797b1e80ac9b0ffd7479c0a4730 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-18f8083ea32be718223835aa8f576a38940e5d19)

**new alerts:**

* 2 for Unused import Once everyone is happy with this PR I can make changes to other NLP models that need to register artifacts for Jarvis. > @ericharper please change `nn_config.json` to ``bert_config.json` and we're good to go :)

I vote for `pretrain_config.json`. 
Rest LGTM.

 Had a discussion with @tkornuta-nvidia and best if we go with 
`megatron_config.json` and `bert_config.json` for now. This pull request **introduces 8 alerts** when merging 0b9e8446a6b69fc1f90d184897c5bb04d09acccc into fb802c524d784da616e7fe7788255ef89520682d - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-59ed07db28c65458b07356418e534e132426a4e9)

**new alerts:**

* 8 for Unused import This pull request **introduces 8 alerts** when merging 6a376ba3ccd63a4ddc83f0cb9204f789e8bbd7ac into afdfe6879589d2c21aa73f84def1f53d9b8a3211 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-e5650899bbd05ec43832c812ad13807f1d87a2f9)

**new alerts:**

* 8 for Unused import This pull request **introduces 8 alerts** when merging 72eb208ae724dfbc291218622f30c48505fa0136 into afdfe6879589d2c21aa73f84def1f53d9b8a3211 - [view on LGTM.com](https://lgtm.com/projects/g/NVIDIA/NeMo/rev/pr-3e269e05c2e79901f9d205c8dde2c16a7aeda9a5)

**new alerts:**

* 8 for Unused import
This PR adds the `.register_bert_model` and `.register_tokenizer` methods to `NLPModel` and lifts the `_setup_tokenizer` method to `NLPModel`. 

For HuggingFace and Megatron BERT models the BERT config will be written to `pretrained_model_name_encoder_config.json` and added to the `.nemo` archive.

For tokenizers, the vocab file and tokenizer model will be added to the `.nemo` archive. If no vocab file is provided, and using HuggingFace AutoTokenizer, then the `vocab_dict` will extracted from the tokenizer object and the `vocab_file` will be created from the `vocab_dict` and both saved to the `.nemo` archive. 

This gives Jarvis the necessary information to generate a TRT Engine from the PyTorch checkpoint.

Calling `.register_bert_model` from PTL `.setup` hook so that all models subclassed from `NLPModel` will register their bert model (if possible).