Enable prompts on the Hub
# What does this PR do?

This PR enables users to share prompt templates for the Agent on the Hub by supporting a repo_id instead of a string for prompts. In terms of API I'm still hesitating between

1. Let the user pass a the prompt template or a repo for both `run_prompt_template` and `chat_prompt_template` which has the cons of a bit of a brittle check (to determine if we have a repo ID or a real prompt) and the repetition of the repo twice for a repo that implements both a `run_prompt_template` and a `chat_prompt_template`

2. Add a new argument `prompts_repo_id` which has the cons of being a new argument in a public API and to add some checks if the repo only implements one of the prompts but not both.

I went with 1 in this PR but curious to have your advice.
_The documentation is not available anymore as the PR was closed or merged._