Support PEFT models when saving the model using trainer
# What does this PR do?

Currently if one calls `save_model` using the Trainer or `push_to_hub` with a PEFT model, it will push the base model instead of the adapters

to reproduce (after `pip install trl peft transformers`):
```python
from datasets import load_dataset
from trl import SFTTrainer
from peft import LoraConfig

dataset = load_dataset("imdb", split="train")

peft_config = LoraConfig(
    r=16,
    lora_alpha=32,
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM",
)

trainer = SFTTrainer(
    "EleutherAI/gpt-neo-125m",
    train_dataset=dataset,
    dataset_text_field="text",
    peft_config=peft_config
)
trainer.save_model("test-sft")
```


cc @pacman100 @sgugger @amyeroberts 
_The documentation is not available anymore as the PR was closed or merged._