Add output in a dictionary for TF `generate` method
This PR adds two components into the TF `generate` method:
1. It enables the model outputs `attentions`, `hidden_states` and `scores`
2. It enables `return_dict_in_generate`

This PR thus narrows the gap between PyTorch and TF `generate` method implementations.

This PR also adds two tests for the dictionary output.

Besides, this PR fixes handling of 2-tuples of attentions for the XLNet model when `target_mapping is not None`.

**Reviewers:** @Rocketknight1 @patrickvonplaten @sgugger  (anyone else in the community)

<hr>

Edit: The above-mentioned features are not implemented for the `generate` method of `TFRagSequenceForGeneration` model.
Great job @stancld !