Commit Briefs
move tofu declarations to their own header
While here replace GEMINI_URL_LEN with TOFU_URL_MAX_LEN to avoid a dependency on telescope.h. Ideally, we should move this stuff to another header that comes with less dependencies.
some headers cleanup
try to not include headers from headers, and remove some redundant include. This helps in modularizing the codebase and also helps during incremental compilations.
include compat.h explicitly in all files
don't do it in telescope.h, remove telescope.h from gencmd.awk and sort the headers in parse.y while here.
tweak client-certificate-info description
avoid the word "use" since it's better to show first use-certificate instead of this niche function.
guard against wprintw(window, "%.*s", 0, NULL)
even if textlen is zero, it still complains in syslog that the string passed is NULL (which kind of makes sense actually.)
load and optionally remember client certificates
This adds use-certificate, a user function to start using a certificate or switch to a different one. It asks whether to persist the certificate, if not it will only be used for the current session. use-certificate is implicitly called when the server replies with a 6x status code.