Clean load keys
# What does this PR do?

This PR finishes the work done in and completely cleans up the `_keys_to_ignore_on_save`, `_keys_to_ignore_on_load_missing` and  `_keys_to_ignore_on_load_unexpected`. Those were used in three situations:

1. Not saving the tied weights. This came from the (wrong) assumption that torch would take twice the space for tied weights (which it doesn't) and also created bugs where non-tied weights were not saved (unless a hack was added like for RoBERTa models). This is not necessary since PyTorch doesn't take more space for tied weights and safetensors will properly remove them (with `_tied_weights_keys`)

2. Ignoring non-saved non-persistent buffers. This can be done automatically in the code of modeling_utils as non-persistent buffers are keys in the model named buffers not in the state dict, so easy to dectect

3. Ignoring known unexpected weights from another architecture (like the pooler). This isn't necessary anymore since we don't issue a warning in this case.
_The documentation is not available anymore as the PR was closed or merged._