Add ASR CTC streaming example 
# What does this PR do?

This enables the use of streamable datasets to fine-tune CTC models.
Example args:
```
--dataset_name="common_voice"
--model_name_or_path="ntu-spml/distilhubert"
--tokenizer_name_or_path="infinitejoy/wav2vec2-large-xls-r-300m-abkhaz"
--dataset_config_name="ab"
--output_dir="./dummy_ctc"
--overwrite_output_dir
--per_device_train_batch_size="4"
--gradient_accumulation_steps="1"
--learning_rate="5e-5"
--max_steps="3000"
--warmup_steps="500"
--evaluation_strategy="steps"
--text_column_name="sentence"
--save_steps="500"
--eval_steps="5"
--logging_steps="1"
--layerdrop="0.0"
--save_total_limit="1"
--mask_time_prob="0.3"
--mask_time_length="10"
--mask_feature_prob="0.1"
--mask_feature_length="64"
--freeze_feature_encoder
--chars_to_ignore=", ? . ! - \; \: \" % ‘ �"
--fp16
--do_train
--do_eval
--gradient_checkpointing
```
_The documentation is not available anymore as the PR was closed or merged._<|||||>One thing left to add: support for infinite streaming if we reach the end of the dataset, so that `Trainer` doesn't stop until `max_steps` is reached.
Reference: https://github.com/huggingface/transformers/blob/48bf7e47a01f310ca8e76bd90be14e06dbd08329/examples/research_projects/codeparrot/scripts/codeparrot_training.py#L20

Otherwise this example yields:
```
There seems to be not a single sample in your epoch_iterator, stopping training at step 6! This is expected if you're using an IterableDataset and set num_steps (3000) higher than the number of available samples.
```<|||||>Maybe run the script for just 5 epochs both with streaming and without so that we have some exact numbers and can compare perf as well<|||||>Feel free to merge and announce this @anton-l once there have been some testing :-)<|||||>The ASR README now includes a streaming example+benchmark :) 

A couple of last notes:
1. streaming will run in distributed mode only with the Trainer fixes from this PR (to support `IterableDatasetShard`)
2. https://huggingface.co/datasets/mozilla-foundation/common_voice_8_0 is very flaky (connection drops after a couple of epochs, possibly due to a temporary IP ban), so the benchmark only succeeded with `common_voice`<|||||>TODO: Merge this after https://github.com/huggingface/transformers/pull/15539