use a helper to handle no-body replies

rename goodbye -> close_conn

add ends_with

rename mimes to mime ; pass config esplicitly to mime* functions

fix prototypes

add a configure script and some compat tested on openbsd, alpine and void

improve logs now we log the full IRI requested (before was only the path) and the response line (even for CGI).

drop useless field was probably added to distinguish between AF_INET and AF_INET6, to use different functions for logging. But it wasn't really used, and now we use getnameinfo anyway.

moving "default type" from global options to server options

add "lang" server option

move mimes into the struct config

add "mime" and "default type" option for the configuration

improve mime handling we still have an hardcoded list, but this implements the API needed to modify the mappings.

reorganize: move bunch of functions to server.c cgi.c wasn't really needed; it better to group all the server related functions together, cgi or not. Now gmid.c contains only startup and utility code.

split into two processes: listener and executor this way, we can sandbox the listener with seccomp (todo) or capsicum (already done) and still have CGI scripts. When we want to exec, we tell the executor what to do, the executor executes the scripts and send the fd backt to the listener.