music_megatron port to NeMo
# What does this PR do ?

Port Music Megatron implementation onto NeMo

**Collection**: [Note which collection this PR will affect]
adding one more music tokenizer to tokenizer for megatron_gpt_pretraining.py 
# Changelog 
- Add specific line by line info of high level changes in this PR.

# Usage
* You can potentially add a usage example below

```python
# modify the data location in the https://github.com/NVIDIA/NeMo/tree/main/examples/nlp/language_modeling/conf/megatron_music_gpt_config.yaml file  line 167-169
python examples/nlp/language_modeling/megatron_gpt_pretraining.py \
        --config-name=megatron_music_gpt_config.yaml
        trainer.devices=1 \
        trainer.log_every_n_steps=1 \
        trainer.val_check_interval=100 \
        trainer.limit_val_batches=2 \
        trainer.accumulate_grad_batches=1 \
        trainer.max_steps=3 \
        trainer.precision=16 \
        trainer.gradient_clip_val=1.0 \
        exp_manager.exp_dir=examples/nlp/language_modeling/gpt_pretrain_results \
        model.pipeline_model_parallel_size=1 \
        model.tensor_model_parallel_size=1 \
        model.optim.name=fused_adam \
        model.optim.lr=2e-4 \
        model.optim.sched.warmup_steps=1 \
        model.optim.sched.constant_steps=1 \
        model.optim.sched.min_lr=8e-5 \
        model.max_position_embeddings=128 \
        model.encoder_seq_length=128 \
        model.data.seq_length=128 \
        model.tokenizer.tokenizer_name=music \
        model.tokenizer.tokenizer_library=music \
        model.tokenizer.vocab_file=/workspace/music_vocab.json \
        model.tokenizer.merge_file=None \
        model.num_layers=8 \
        model.hidden_size=256 \
        model.num_attention_heads=8 \
        model.data.index_mapping_dir=examples/nlp/language_modeling/gpt_index_mappings
```

# Before your PR is "Ready for review"
**Pre checks**:
- [ ] Make sure you read and followed [Contributor guidelines](https://github.com/NVIDIA/NeMo/blob/main/CONTRIBUTING.md)
  
**PR Type**:
- [x ] New Feature
- [ ] Bugfix
- [ ] Documentation

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


## Who can review?
@okuchaiev @yidong72 
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
* Related to # (issue)
