Sharded manifests for tarred datasets
# What does this PR do ?

Helps accelerate manifest loading via optional manifest sharding. This should speed up the loading of large manifests and reduce memory footprint - each worker loads just the shards that it needs.

**Collection**: ASR

# Changelog 
- Add specific line by line info of high level changes in this PR.

# Usage
Use the same notation for manifests as for tarred audio files.  There should be a 1:1 correspondence between a sharded audio tar file and a manifest file.   The defer_setup flag must be set, otherwise torch.distributed will not be initialized during manifest processing and we will not be able to determine the dataloader length across all loaded manifest shards.
```
model.train_ds.tarred_audio_filepaths='audio__OP_0..511_CL_.tar'
model.train_ds.manifest_filepath='manifest__OP_0..511_CL_.json'
+model.train_ds.shard_manifests=true
+model.train_ds.defer_setup=true
```
# when generating the tarred manifest, do:
```python

python convert_to_tarred_audio_dataset.py \
    --manifest_path=<path to the manifest file> \
    --target_dir=<path to output directory> \
    --num_shards=<number of tarfiles that will contain the audio> \
    --max_duration=<float representing maximum duration of audio samples> \
    --min_duration=<float representing minimum duration of audio samples> \
    --shuffle --shuffle_seed=1 \
    --sort_in_shards \
    --shard_manifests  \
    --workers=-1


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

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