Integrate version contexts in the GraphQL API
Created by: asdine
This PR adds backend support for version context:
- Version contexts are defined in the site configuration
- They can be used in the GraphQL search query to resolve the right repository revisions
- The list of version contexts is accessible through the GraphQL API
This PR is based on #10219 and fixes #10194