Support custom agenda commands

Support custom agenda commands, whose URL will be /agenda/custom/KEY,
where KEY is one of the prefixes for a command in
org-agenda-custom-commands.
Change the content type for 400 responses so that HTML may be sent in
the body (to support links within error messages).