text: Title: [BUG] ViT models can't load pretrained weights from models with different `cls_token`/`no_embed_class` settings
  Body: **Describe the bug**
  
  The title says it all. ViT models currently support changing some hyperparameters when loading pretrained weights (such as `img_size`). This is useful, when the loaded weights are intended to be used for further fine-tuning with different hyperparameters. However, `_load_weights` currently assumes that the default config was used.
  
  **To Reproduce**
  
  ```python
  timm.create_model("vit_large_patch16_384", pretrained=True, class_token=False, global_pool="avg")
  # AttributeError: 'NoneType' object has no attribute 'copy_'
  ```
  
  ```python
  timm.create_model("vit_large_patch16_384", pretrained=True, no_embed_class=True)
  # RuntimeError: The size of tensor a (576) must match the size of tensor b (577) at non-singleton dimension 1
  ```
  
  **Expected behavior**
  
  Return ViT models with `class_token=False` and `no_embed_class=True`.
  
  I don't have the time to fill out a proper PR, but the short version is that `_load_weights` should check if `model.cls_token` is `None` before attempting to copy it from the pretrained weights and `resize_pos_embed` should just drop the extra prefix tokens from the embeddings before doing the interpolation.