[Codec] Finite scalar quantizer
jenkins jenkins
# What does this PR do ?

This PR adds finite scalar quantizer as used in
Mentzer et al., Finite Scalar Quantization: VQ-VAE Made Simple (https://arxiv.org/abs/2309.15505v1)

**Collection**: TTS

# Changelog 
- Added `FiniteScalarQuantizer`
- Added unit tests

# Usage
This can be used as a drop-in replacement for `ResidualVectorQuantizer`, for example using the following configuration

```yaml
model:
  ...
  commit_loss_scale: 0.0 # need to be set to zero, since FSQ does not include commit loss
  ...
  vector_quantizer:
    _target_: nemo.collections.tts.modules.audio_codec_modules.FiniteScalarQuantizer
    num_levels: [8, 5, 5, 5]
```

For using larger vector, `GroupFiniteScalarQuantizer` can be used to repeat quantization pattern several times, for example using the following configuration

```yaml
model:
  ...
  commit_loss_scale: 0.0 # need to be set to zero, since FSQ does not include commit loss
  ...
  vector_quantizer:
    _target_: nemo.collections.tts.modules.audio_codec_modules.GroupFiniteScalarQuantizer
    num_groups: 3
    num_levels_per_group: [3, 4]
```

This corresponds to FSQ with `num_levels: [3, 4, 3, 4, 3, 4]`.

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