 NeMo Megatron: Add sequence parallelism and selective activation checkpointing (rebased)
# What does this PR do ?

Add sequence parallelism and selective activation checkpointing.

This PR currently depends on a fork of Apex: https://github.com/NVIDIA/apex/pull/1396

**Collection**: NLP

# Changelog 
- Update GPT config
- Update parallel_lm_logits
- Add CoreAttention
  - This is the block that gets recomputed when using selective activation checkpointing
- Update ParallelAttention to work with CoreAttention
- Update ParallelTransformerLayer
  - Layer norm calls to use sequence parallel
- Update ParallelTransformer
  - Update args
  - Update final layer norm
  - Add rng contex to forward when using sequence parallel
  - Remove transposes
- Update Pooler
  - Gather from sequence parallel regions
- Update embedding
  - Add sequence_parallel flag
  - add transpose in forward
  - scatter for dropout
- Update TransformerLanguageModel
- Update GPTModel
  - Add transposes
- All-reduce layer norm params when using sequence parallel
- Add sequence parallel arg to apex calls
- Update configs and arg checking for activation checkpointing

# Usage

```
# enable sequence parallelism
model.sequence_parallel=True

# enable selective activation checkpointing
model.activations_checkpoint_granularity=selective

# all transformer layers have CoreAttention checkpointed when using selective
model.activations_checkpoint_method=null
model.activations_checkpoint_num_layers=null
```

# 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)
- [ ] 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**:
- [ ] 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)
