[cgi] split the query in words if needed and add them to the argv

add the ``entrypoint'' option

restart the daemon instead of kill+start this way we can also test the reload capability!

added ``block return'' and ``strip'' options

cgi now follows globbing rules

print the header in the directory listing

simplify handle_cgi Now that I got rid of the enum+switch, adding more state is easier. Before, we used an hack to remember if we had read the CGI reply or not (c->code = -1). This introduces a new state, handle_cgi_reply that reads the CGI script reply, logs it, and only then switches to handle_cgi. handle_cgi itself is cleaner, now it only reads into c->sbuf and send what it had red. We even get, almost for free, the 42 error. If read exists with -1 or 0 from in handle_cgi_reply, we return a proper error to the client. We can extend this further in the future and also try to validate the CGI reply (for now we're only looking for a \n).

use absolute paths in the regression suite

drop the daemon config in favour of the -f flag Now it daemonize by default when running with a config, unless the -f flag is given.

added support for location blocks

added support for location blocks

test CGI with big files

added index option

fix test portability wc return 2048 on fedora (it doesn't count the trailing \n), while on OpenBSD, Void linux on aarch64 and Alpine linux on vmd(8) returns 2049.

use gg instead of for the regression suite