Add status logging functions.

Instead of using printf() and perror() to print error messages, use our own
thing.  This will allow suppression and/or saving error and information
messages to a file instead of printing them to the stdout.

There are levels of messages, each one with a different color. Critical
level aborts the program, perror level works pretty much like perror() (by
calling strerror() and obtaining the error reason from errno).

As a bonus, if compiling in debug mode, the file name, line number, function
name, and thread ID are printed before each message.
Fix race condition when pushing request fd to IO loop workers
Move date cache to IO thread

Removes date lock from file serving.
lwan_openat() now defers file close automatically
Only compile memcache.c when building freegeoip
_signal_handler() now prints the signal name rather than just the number
Add critical_perror level.
Note about a bug in file serving redirects