NeMo + Lhotse integration
jenkins This PR is stale because it has been open for 14 days with no activity. Remove stale label or comment or update or this will be closed in 7 days. @titu1994 all suggestions implemented Need to pass jenkins though jenkins jenkins Thanks guys! Such a joy to click merge after all this work 😀
# What does this PR do ?

This PR adds an option to leverage Lhotse for dataloading in NeMo.

**Collection**: Currently ASR only, with clear path to extend into other collections.

# Changelog 
- Support creating a Lhotse dataloader from NeMo configuration
- Support for most Lhotse-specific dataloading features, especially: dynamic bucketing, multiplexing datasets.
- Support initializing Lhotse dataloader either from Lhotse manifests, Lhotse Shar (tarred) manifests, NeMo manifests, and NeMo tarred manifests
- ASR dataloading for hybrid CTC transducer as the first example

# Usage
* See the unit tests
* NeMo's `model.{train,validation,test}_ds` sections can be extended with additional fields `use_lhotse: True/False` and `lhotse: {...}` to enable 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)
- [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)
  - [x] 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)
