Add GLQL schema endpoint
What does this MR do and why?
Adds GET /api/v4/glql/schema, serving the GLQL schema: the available data sources with their filter, display and sort fields, plus the operator, value kind, reference type, display type and function vocabularies.
The endpoint takes no parameters and returns the same document for every user.
Where the document comes from
Most of it is the gitlab_query_language gem's, generated from the compiler's own analyzers, so it cannot advertise a field the compiler would reject.
display_types is injected into the schema directly from the APi since the compiler has no knowledge of it. The aim is just to advertise what the frontend supports.
References
Edited by Daniele Rossetti