[TTS] Add adapter for new speaker adaptation
# What does this PR do ?

Adds adapter support for new speaker adaptation. The following are the contributions of this PR:
1) Adds adapter support to TTS (FastPitch) pipeline for new speaker adaptation.
2) Adds Global Style Token based speaker representation to multi-speaker TTS pipeline.
3) Adds Speaker Verification based speaker representation to multi-speaker TTS pipeline.


**Collection**: [tts]

# Changelog 
- `examples/tts/conf/fastpitch_speaker_adaptation.yaml` - A new config file that is used for adapter training or using GST speaker representation.
- `examples/tts/fastpitch_finetune_adapters.py` - Script to Finetune adapters for new speaker adaptation. This script edits the config to add adapters, freeze the pretrained model and trains just the adapters.
- `nemo/collections/tts/parts/mixins/fastpitch_adapter_mixins.py` - This is a new file that contains all adapter related methods for FastPitch model. `parts/mixins` follows ASR folder structure.
- `nemo/collections/tts/modules/aligner.py, fastpitch.py, transformer.py` - the changes in these files are corresponding to inserting adapters to each of these modules.
- `nemo/collections/tts/modules/submodules.py` - GST based speaker representation module's implementation is in this file.
- `nemo/collections/tts/torch/tts_data_types.py, data.py` - GST related changes made to dataloader. GST needs a reference audio for a particular speaker. So a new datatype `GSTRefAudio` is introduced, this datatype refers to the reference audio.
- `tutorials/tts/FastPitch_Speaker_Adaptation.ipynb` - Tutorial explaining step by step how to use adapters to adapt a new speaker in FastPitch.

# Usage
* You can potentially add a usage example below

```python
# Add a code snippet demonstrating how to use this 
```

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