[`T5`] Add T5ForQuestionAnswering and MT5ForQuestionAnswering
Author: sjrl
Pull request: yes

# What does this PR do?

<!--
Congratulations! You've made it this far! You're not quite done yet though.

Once merged, your PR is going to appear in the release notes with the title you set, so make sure it's a great title that fully reflects the extent of your awesome contribution.

Then, please replace this with a description of the change and which issue is fixed (if applicable). Please also include relevant motivation and context. List any dependencies (if any) that are required for this change.

Once you're done, someone will review your PR shortly (see the section "Who can review?" below to tag some potential reviewers). They may suggest changes to make the code even better. If no one reviewed your PR after a week has passed, don't hesitate to post a new comment @-mentioning the same persons---sometimes notifications get lost.
-->

This adds a question-answering head to the PyTorch implementation of T5, following the pattern of BartForQuestionAnswering since it is also an encoder-decoder question-answering model. 

This type of model has already been used in research papers (e.g. https://arxiv.org/pdf/2203.07522.pdf) and has shown promising results for using T5 for question answering using span prediction. Additionally, I have trained an uploaded a flan-t5-large for question answering [here](https://huggingface.co/sjrhuschlee/flan-t5-large-squad2) which has shown promising generalization results to other question-answering datasets (metrics are shown on the model card).

I've updated the model tests to include the new model and I believe I found hopefully most of the additional imports and compatibility with the question-answering pipeline. 

## Before submitting
- [ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
- [x] Did you read the [contributor guideline](https://github.com/huggingface/transformers/blob/main/CONTRIBUTING.md#start-contributing-pull-requests),
      Pull Request section?
- [ ] Was this discussed/approved via a Github issue or the [forum](https://discuss.huggingface.co/)? Please add a link
      to it if that's the case.
- [x] Did you make sure to update the documentation with your changes? Here are the
      [documentation guidelines](https://github.com/huggingface/transformers/tree/main/docs), and
      [here are tips on formatting docstrings](https://github.com/huggingface/transformers/tree/main/docs#writing-source-documentation).
- [x] Did you write any new necessary tests?


## Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

- Hey @ArthurZucker and @younesbelkada I would greatly appreciate a review on this when you have a chance. 


Comments:
_The documentation is not available anymore as the PR was closed or merged._

Hey @ArthurZucker thanks for the review! I do have a question about the check_repository_consistency. I noticed that the error I currently receive is (link [here](https://app.circleci.com/pipelines/github/huggingface/transformers/67114/workflows/38a1f7d2-a0ab-4c85-8af7-218d53de68fa/jobs/837499?invite=true#step-110-9))
```bash
Traceback (most recent call last):
  File "utils/check_copies.py", line 579, in <module>
    check_copies(args.fix_and_overwrite)
  File "utils/check_copies.py", line 269, in check_copies
    raise Exception(
Exception: Found the following copy inconsistencies:
- src/transformers/models/mt5/modeling_mt5.py: copy does not match models.t5.modeling_t5.T5PreTrainedModel at line 775
Run `make fix-copies` or `python utils/check_copies.py --fix_and_overwrite` to fix them.
```
which would require the analogous implementation of `MT5ForQuestionAnswering`. Should I go ahead and add that implementation as well or is there another way to pass this error?

I went ahead and added `MT5ForQuestionAnswering` as well.