Add TAPEX
# What does this PR do?

Remember [TAPAS](https://huggingface.co/docs/transformers/model_doc/tapas), the table QA model by Google AI? Microsoft has now released TAPEX, a seq2seq model that outperforms TAPAS and is actually much simpler: table QA is just treated as a seq2seq problem.

As the weights can be directly loaded into a BART model, this PR only implements `TapexTokenizer`, which can be used to prepare tables and corresponding texts for the model.

This PR also adds 3 scripts that showcase how to fine-tune TAPEX on 3 important benchmarks: WikiSQL and WTQ for table question answering and TabFact for table fact verification.

Kudos to @SivilTaram (the original author) for improving my initial `TapexTokenizer` implementation, as well as adding the 3 fine-tuning scripts.
_The documentation is not available anymore as the PR was closed or merged._<|||||>`make fixup` is complaining:

```
examples/research_projects/tapex/run_wikitablequestions_with_tapex.py:50:1: F401 'wikisql_utils._TYPE_CONVERTER' imported but unused
examples/research_projects/tapex/run_wikitablequestions_with_tapex.py:50:1: F401 'wikisql_utils.retrieve_wikisql_query_answer_tapas' imported but unused
```

However, these functions are used in the script, so I can't remove these imports.<|||||>@NielsRogge Thanks for your huge effort! I personally think these two warnings are correct since these two imports are only used in `run_wikisql_with_tapex.py` instead of `run_wikitablequestions_with_tapex.py` (the hint message). I think we can remove them.

> examples/research_projects/tapex/run_wikitablequestions_with_tapex.py:50:1: F401 'wikisql_utils._TYPE_CONVERTER' imported but unused
examples/research_projects/tapex/run_wikitablequestions_with_tapex.py:50:1: F401 'wikisql_utils.retrieve_wikisql_query_answer_tapas' imported but unused
<|||||>@sgugger I've addressed all comments.<|||||>All models on the hub do work with the Auto API, can you elaborate? TAPEX is also added to `configuration_auto.py` and `modeling_auto.py`.