Whisper does not respect `config.forced_decoder_ids`
### System Info

- `transformers` version: 4.27.0.dev0
- Platform: macOS-13.1-arm64-arm-64bit
- Python version: 3.9.13
- Huggingface_hub version: 0.11.1
- PyTorch version (GPU?): 1.13.1 (False)
- Tensorflow version (GPU?): not installed (NA)
- Flax version (CPU?/GPU?/TPU?): 0.6.3 (cpu)
- Jax version: 0.4.1
- JaxLib version: 0.4.1

### Who can help?

@sanchit-gandhi @ArthurZucker

### Reproduction
Previously, the recommended method for setting the language and transcription for Whisper inference was by setting the `config.forced_decoder_ids`. However, this method no longer works on the main branch, for example if we force the model to generate in French:

```python
from transformers import WhisperProcessor, WhisperForConditionalGeneration
from datasets import load_dataset

# load model and processor
processor = WhisperProcessor.from_pretrained("openai/whisper-tiny")
model = WhisperForConditionalGeneration.from_pretrained("openai/whisper-tiny")

ds = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = ds[0]["audio"]
input_features = processor(sample["array"], sampling_rate=sample["sampling_rate"], return_tensors="pt").input_features 

# set the forced ids
model.config.forced_decoder_ids = processor.get_decoder_prompt_ids(language="french", task="transcribe")

# generate token ids
predicted_ids = model.generate(input_features)
# decode token ids to text
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=False)
print(transcription)
```
**Print Output**:
```
['<|startoftranscript|><|en|><|transcribe|><|notimestamps|> Mr. Quilter is the apostle of the middle classes and we are glad to welcome his gospel.<|endoftext|>']
```

### Expected behavior

Language token should correspond to the forced decoder token id (e.g. `"<|fr|>"` in this example). This was the case in previous transformer versions, so there has been a breaking change that we need to remedy.
This is based on the behavior that we enforce through the generate function. If there is a `generation_config`, it will be used and has priority over the `config`. 
There should be a warning deprecating the control of generation through the `config`. See [here](https://github.com/ArthurZucker/transformers/blob/main/src/transformers/generation/utils.py#LL538C17-L538C17).
This is a minor breaking change but should also be adresses with deprecation cycle 