Add rampup batch size to nemo megatron GPT
# What does this PR do ?

Adds rampup batch size to NeMo Megatron GPT. Scales the batch size linearly from starting batch size to global batch size by a batch size increment over a number of consumed samples.

There was a bug in the apex rampup batch size implementation that has been fixed here: https://github.com/NVIDIA/apex/commit/7d9038782b7a39c7dd05201e17586fd38b7a7c94.

Temporarily moved the needed functions over to NeMo until the above commit is in the NGC PyTorch container.

**Collection**: NLP

# Changelog 
- Add rampup batch size to the config
- Input rampup batch size to the apex num microbatch calculator
- Update the num microbatch calculator after each training step
- 
# Usage
Can be set in the config:
```bash
  # For example:
  global_batch_size: 1024
  rampup_batch_size:
    - 16
    - 8
    - 300000
  # will start with global batch size 16 and over
  # (1024 - 16) / 8 = 126 intervals will increase
  # the batch size linearly to 1024. In each interval
  # we will use approximately 300000 / 126 = 2380 samples
```
Or by the CLI:
```bash
model.rampup_batch_size=[16,8,300000]
```

# 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)
- [x] 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.


## 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
* Related to # (issue)
