RMSNorm, Normformer and fixes from merging 1.8.0 into main
# What does this PR do ?

Implements the following

1. RMSNorm normalization, used in T5 when not using bias terms.
2. Normformer that adds extra normalization layers after self-attention and between the MLP feedforward layers. Also adds the option of configuring the additional MHA scale parameter.
3. Fixed some issues with merging code from 1.8.0 to main that removed code relevant to removing bias terms.

**Collection**: NLP

# Changelog 
- Mostly changes to `transformer.py`

# Usage
* You can potentially add a usage example below

Configure the following args in your T5/BART yaml file

encoder_arch: "normformer"
decoder_arch: "normformer"
headscale: True
normalization: rmsnorm
bias: False

# 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)
