Minor MPT-7B fixes and creation script update
# What does this PR do ?

Updates the script used to create a Megatron MPT-7B checkpoint with fixes, and adds support to MegatronBaseModel for special tokens to be passed at runtime.

**Collection**: NLP

# Changelog 
- Updates the Megatron MPT-7B creation script with some bug fixes and a config file baseline
- Adds support for HuggingFace special tokens to be declared in Hydra/Yaml and passed to MegatronBaseModel

# Usage
You can specify the new tokens in a config YAML like so:

```yaml
...
model.tokenizer.special_tokens.pad_token="<PAD>"
model.tokenizer.special_tokens.mask_token="<MASK>"
...
```

# Before your PR is "Ready for review"
**Pre checks**:
- [X] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
- [ ] Did you write any new necessary tests?
- [ ] Did you add or update any necessary documentation?
- [ ] Does the PR affect components that are optional to install? (Ex: Numba, Pynini, Apex etc)
  - [ ] Reviewer: Does the PR have correct import guards for all optional libraries?
  
**PR Type**:
- [X] New Feature
- [X] Bugfix
- [ ] Documentation

If you haven't finished some of the above items you can still open "Draft" PR.


## Who can review?

Anyone in the community is free to review the PR once the checks have passed. 
[Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md) contains specific people who can review PRs to various areas.

# Additional Information

The MegatronBaseModel changes are necessary because the HuggingFace tokenizer which is used by MPT-7B (and indeed all other HF tokenizers) does not have special tokens built in, tokens such as PAD and MASK. This leads to a crash when prompt-learning with MPT-7B, because there is no pad token, and no way to add one at runtime. With this fix to MegatronBaseModel, you can now pass a pad token at runtime, which allows prompt-learning with MPT-7B (or any model which uses a HF tokenizer).
