Offload fixes
# What does this PR do?

This PR fixes a few bugs in the current offload to disk implementation via Accelerate.

1. The `offload_folder` is not created if it doesn't exists, loading to cryptic errors about missing files.
2. When the model is a task model and the checkpoint one of the base model (like for OPT), there are two issues arising:
    - if `offload_state_dict=True`, the weights should be reloaded in `model_to_load` from the temporary offload
    - all the weights offloaded to disk are missing the `base_model_cls` prefix since they were offloaded as weights of `model_to_load` and not of `model`.
_The documentation is not available anymore as the PR was closed or merged._