Enable code-specific revision for code on the Hub
# What does this PR do?

This PR adds a new `code_revision` argument to all auto classes `from_pretrained` (and the auto models `from_config`) to allow for a specific revision for code on the Hub. Since code can now live in a different repo than the weights, the `revision` argument can't be used directly for the code files and we need a new argument.

This PR also makes `code_revision` default to `revision` when the repo contains both the code and the model weights.

Fixes #23745
_The documentation is not available anymore as the PR was closed or merged._