Use cross_attention_hidden_size in Encoder-Decoder models
# What does this PR do?

- Add a projection layer (`enc_to_dec_proj`) between encoder and decoder models in composite models, incorporating the attribute `cross_attention_hidden_size`.

    - add some `pt/tf equivalence` and `pt/flax equivalence` tests in tf/flax composite model test scripts.
    - also make some logging and ValueError messages consistent across composite model scripts.
I ran slow tests for all the encoder-decoder models test scripts, and it is fine. (e.g. `RUN_SLOW=1 python -m pytest ...`)

BTW, is there an easy way to run all cross tests in a test script, i.e. disabling `@is_pt_tf_cross_test` or `@is_pt_flax_cross_test`?<|||||>Hey @ydshieh, 

We need to slightly update this PR for the speech encoder decoder classes sadly so that the newly introduced variable `config.output_hidden_size` as shown here: https://github.com/huggingface/transformers/blob/cea17acd8cc5190684da944924116fe10742ad81/src/transformers/models/speech_encoder_decoder/modeling_speech_encoder_decoder.py#L227 is compatible with it.

The other files can stay the same :-)<|||||>> Hey @ydshieh,
> 
> We need to slightly update this PR for the speech encoder decoder classes sadly so that the newly introduced variable `config.output_hidden_size` as shown here:
> 
> https://github.com/huggingface/transformers/blob/cea17acd8cc5190684da944924116fe10742ad81/src/transformers/models/speech_encoder_decoder/modeling_speech_encoder_decoder.py#L227
> is compatible with it.
> 
> The other files can stay the same :-)

No problem, @patrickvonplaten. But I have a slight doubt at this line:

```
self.enc_to_dec_proj = nn.Linear(self.encoder.config.hidden_size, self.decoder.config.hidden_size)
```
Should it be
```
self.enc_to_dec_proj = nn.Linear(self.encoder_output_dim, self.decoder.config.hidden_size)
```
if `config.output_hidden_size` is introduced in the config and used here? I didn't go through the speech model, but it looks more natural to do so.
<|||||>I made the necessary updates where `config.output_hidden_size` is involved.
I didn't change the line
```
self.enc_to_dec_proj = nn.Linear(self.encoder.config.hidden_size, self.decoder.config.hidden_size)
```
despite a slight doubt.<|||||>(Fixed)

The failed TF/Torch test is due to #14016 being merged to master (and I rebased this PR on master), which is expected. I will take care of this issue.