TF: Unpack model inputs through a decorator 
# What does this PR do?

Unpacks TF model inputs through a decorator, improving code clarity. To be read with issue https://github.com/huggingface/transformers/issues/15908, which holds the description of the problem, the proposed solution, and future plan.

Closes https://github.com/huggingface/transformers/issues/15908

How to review: start with `modeling_tf_utils.py`, and then check the changes in the models. I've run `RUN_SLOW=1 py.test -vv tests/model_name/test_modeling_tf_model_name.py` for all involved models, and the changes were applied to BERT (plus its copy-linked architectures) and Speech2Text, showing that it works for multiple modalities.
_The documentation is not available anymore as the PR was closed or merged._<|||||>As suggested by @sgugger in #15908, I've opened the PR :)<|||||>This looks great! Also pinging @patrickvonplaten for review as it's quite central<|||||>Thanks for running the tests on it. It is way more readable like that indeed.<|||||>Looks very nice! Thanks for cleaning this up<|||||>Looks very nice! Thanks for cleaning this up<|||||>It seems like everyone is in agreement :) @Rocketknight1 can you have a final look, and approve if you agree with the change?<|||||>> Is the plan to wait and see how things go with BERT, and assuming no problems to repeat those edits across all model classes?

Yeah! I'm also going to open an issue with the `good first issue` tag and try to get contributors in to replicate the change over other models. After a month or so, I will update any missing model.