TF: Finalize `unpack_inputs`-related changes
# What does this PR do?

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

Please read this before diving into the changes :) This PR finalizes the changes related to the `unpack_inputs` and is slightly more complex than the other PRs.

Changes:
1. Removes `**kwargs` from most `call` methods in our TF models: 
    1. This argument was not documented and, after adding the decorator, not being used; 
    2. It was used before exclusively as an input to `input_processing`, to handle some special cases (which are now handled inside the decorator); 
    3. The exception is the `encoder_decoder` models (see below);
    4. **Removing it implies that there are no more hidden parameters being passed to the models**. Somewhat expected, a few tests were passing unused parameters, and had to be corrected. I've added comments throughout the PR to elaborate here.
2. Replaces the use of `input_processing` by the decorator in the `encoder_decoder` models: 
    1. This was not a 1:1 change, like in the other models -- `input_processing` was being used before the `encoder` and the `decoder` were called, which was redundant (the `encoder`/`decoder` now have the decorator, which also calls the function); 
    2. However, it was also being used for its side effects, i.e. to set some variables (like `use_cache`), which is equivalent to adding the decorator on the `encoder_decoder` model; 
    3. Because these `encoder_decoder` models *must* use kwags, as the `encoder`/`decoder` might have a myriad of arguments, the decorator was updated so as to allow random kwargs on models that expect them. This brings us back to 1. -- no other models have kwags now.
3. Icing on the cake -- `input_processing` is now only used in the decorator, so I made the function protected :) This means we can start modernizing it without the fear of it being used in other places. 

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