[Whisper] Refactor whisper
# What does this PR do?
The goal of this PR is to allow the users to do the following : 
```python 
...
whisper_model.generate(audio, return_timestamps = True)
whisper_model.generate(audio, return_timestamps = True, task = Transcribe)
```
The language is automatically detected. This also simplifies the pipeline calls, and add a good example of `generation_config` 's intended usage. 

_The documentation is not available anymore as the PR was closed or merged._<|||||>"The language is automatically detected". From my experience the language detection by Whisper is very unreliable. Will it still be possible to specify language?<|||||>Sure, let's make sure we still allow the language to be past! Thanks for pointing this out<|||||>Once #21257 is merged, the tests here should also pass ! <|||||>Pipeline tests need #21269 to be merge 😉 <|||||>The two failing tests are from the latest modification of the multilingual tokenizer's config