Add FlaxBartForCausalLM
This PR contributes the Flax Bart model for causal language modelling (Causal LM). It adds:

- `FlaxBartPreTrainedDecoderModel`: a subclass of `FlaxPreTrainedModel` designed specifically for leveraging pre-trained Bart decoder checkpoints. This is as opposed to `FlaxBartPreTrainedModel`, which treats pre-trained Bart encoder-decoder models.
- `FlaxBartDecoderWrapper`: a wrapper class required to correctly load pre-trained checkpoints when the causal language model is used in combination with the `(Speech)EncoderDecoderModel` framework.
- `FlaxBartForCausalLM`: a Bart Model with a language modelling (LM) head on top. It facilitates encoder-decoder cross-attention layers, thus enabling it to be used in the `(Speech)EncoderDecoderModel` for seq2seq tasks.

The implementation of the Causal LM model is validated through use as a decoder module in two key `(Speech)EncoderDecoderModel` tests:

- `FlaxBartEncoderDecoderModelTest`: The Flax Bart Causal LM model is used as a decoder module in a `Flax-Bert-2-Bart` seq2seq configuration. The PyTorch-Flax cross-tests assert that all Flax hidden-states are to within a `1e-5` tolerance of their PyTorch equivalents.
- `FlaxWav2Vec2BartModelTest`: The Flax Bart Causal LM model is used as a decoder module in a` Flax-Wav2Vec2-2-Bart` speech-encoder-decoder configuration. The PyTorch-Flax cross-tests assert that all Flax output logits are to within a `4e-2` tolerance of their PyTorch equivalents.

The PyTorch-Flax cross-tests verify that the CausalLM model has been correctly implemented and that it works as expected in its use case as a decoder module in an encoder-decoder framework.
_The documentation is not available anymore as the PR was closed or merged._