Add PvT-v2 Model
Author: FoamoftheSea
Pull request: yes

## Description
- **Motivation** - The PvT is a useful backbone for computer vision tasks, but only the outdated v1 is available in Hugging Face.
- **What this PR Does** - Full integration of PvT-v2 model (works with AutoModel and AutoBackbone).
- **Notes** - Like the original implementation, the config allows for using either Spatial Reduction "SR" or average pooling "AP" to reduce complexity in the attention layer, default is using SRA (as in the original code).

@amyeroberts 

## Resources
**Model paper**
- [PVT v2: Improved Baselines with Pyramid Vision Transformer](https://arxiv.org/abs/2106.13797)

**Open Source Implementations**
- [Original](https://github.com/whai362/PVT/blob/v2/classification/pvt_v2.py)
- [Panoptic Segformer](https://github.com/zhiqi-li/Panoptic-SegFormer/blob/master/easymd/models/backbones/pvt_v2.py)

## Checks
- Add PvT-v2 to model docs ✔
- Build pytests and have them pass ✔
- Formatting (make fix-copies, make fixup) ✔
- Convert open-source weights and test expected logits, uploaded to hub ✔


Comments:
FYI @rafaelpadilla 

@FoamoftheSea - awesome work! Let us know when you're ready for review. 

For the code quality checks, running `make fixup` and pushing the changes should resolve them. 

@amyeroberts  - Thanks! Let me try that and do one final sweep over things, then I will get back to you shortly for review :)

@amyeroberts I believe this is ready for review now. I made changes so all the quality checks pass, and I also added integration with AutoBackbone so that the PVTv2 can be used with Deformable DETR and other models that use AutoBackbone.

Hey @amyeroberts - just adding a new comment here since the others are pretty well buried. This PR should be ready to go after removing the two lines from the check_docstrings.py. Let me know if you agree and we can make that last commit and merge 🙏 

@amyeroberts is off I'll be reviewing this! 🤗 

Great, thanks @ArthurZucker! Let me know if there's any action needed from my side, do you want me to address the failure from the documentation build?

Sorry I started reviewing and did not finish yet


@ArthurZucker Thanks for the review! I've gone through and made commits to address most of your comments, and I've responded to a couple that await your review. Let me know when you have a chance to go through the updates.

Hey! Sure, can you first make sure the CIs are green? 🤗 

Thanks, will review 

Hey @ArthurZucker - CIs are green! I went through and made all of the adjustments, as well as filling out the documentation to be much more comprehensive. I marked all the obviously fixed conversations as "resolved", but I left a few open that are more opinion-based. Let me know what you think.

Alright! Sorry running a bit late but on my TODO for the day 😉 

@amyeroberts I merged main today since the main branch passed CI tests, so I'm not sure why these checks are failing... the logs are not clear.

The failing torch test is unrelated however the check repo consistency is related to bad `# Copied from`  statements. I don't have more tips but check the tabbing and if it's only wrapping a block or not!

Ah, good catch, thanks!. I will try to run a make fixup on that and see if I can get to the bottom of it.

Looks like CIs are green ✔️ I had to remove all of the `# Copied from` comments from test_modeling_pvt_v2.py to get the checks to pass. None of the code blocks were really direct copies, and the only chunks of code that were were the smaller methods within larger test classes, which I guess can't be marked with this comment, but I haven't had a chance to dig into exactly how those checks work. In any case, here are the commits where I added/removed the `# Copied from` comments in case anyone wants to analyze best practice here any further.
- Added: https://github.com/huggingface/transformers/pull/26812/commits/fdb7ceb0e7646c6e263f7eee011b46f45344595f
- Removed: https://github.com/huggingface/transformers/pull/26812/commits/46f434efb3044ecac8e17abb6a5bed15f37c5340

The authors have reached out to me via email to let me know they've copied the pretrained weights over to the OpenGVLab HuggingFace account here: https://huggingface.co/collections/OpenGVLab/pvt-65db4ca6c3e37ebc67cd8e01, so I went ahead and switched all of the hub references in the code to point to these locations, and we should be ready to merge!

The docs for this PR live [here](https://moon-ci-docs.huggingface.co/docs/transformers/pr_26812). All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

Hi @FoamoftheSea Thank you adding adding this model. Our nightly CI shows 2 failing tests below. Could you take a look please. Thank you in advance.

```
tests/models/pvt_v2/test_modeling_pvt_v2.py::PvtV2ModelIntegrationTest::test_inference_image_classification
(line 765)  AssertionError: False is not true

tests/models/pvt_v2/test_modeling_pvt_v2.py::PvtV2ModelIntegrationTest::test_inference_model
(line 905)  AssertionError: torch.Size([1, 256, 7, 7]) != torch.Size([1, 50, 512])
```