Add ability to give seperate datasets for test, train and validation
# What does this PR do ?
Gives the user the ability to specify separate train,test and validation datasets as a dictionary in data_prefix for gpt model

**Collection**: nlp/language_modelling

# Changelog 
- Supports dictionary format in data_prefix for megatron gpt config file.
- Uses the existing data loader to load each individual dataset appropriately by changing split string

# Usage
* data_prefix: {train:/path/to/train, test:/path/to/test, validation:/path/to/validation}

# 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?
- [x] 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
- [ ] Bugfix
- [ ] Documentation

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

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.

