auth: Add /api/docs endpoint to obtain OpenAPI document
This patch adds an /api/docs endpoint to the API webserver,
allowing clients to obtain the OpenAPI (Swagger) document that
describes the server's API directly from the server.
It also modifies the response body mechanism in the webserver
to no longer assume JSON output, but allow handlers to specify
JSON, YAML, or plain text. It also adds detection of YAML
support in the request so that handlers can choose which type
to send in their response. Since there is not yet a standard
MIME type for YAML, 'application/x-yaml' is used since it
appears to be the most commonly used type.