[ViT, BEiT, DeiT, DPT] Improve code
# What does this PR do?

This PR cleans up some code of ViT, BEiT, DeiT and DPT.

Most importantly, it corrects the tuple outputs, in case no pooler was added (as shown by #16760).

Next to that, it cleans up the tests, by
- removing `to_2tuple`, and instead leveraging an `expected_seq_len` attribute of the `ModelTester`
-  removing `chunk_length` and `is_encoder_decoder` statements, which don't apply for these encoder-only models.
_The documentation is not available anymore as the PR was closed or merged._