Use size_t for sizes
Destroy date lock as well when shutting down
Clean up some death queue-related code
It is unlikely the compression will fail
Kill request if we fail sending a response
Update TODO list, adding notes on C10M and TCP flags to try
Make sure file is closed even if coroutine is aborted

The lwan_sendfile() function can yield from the coroutine -- and it might be
killed, for instance if the connection is closed.  Using the deferred table
from the coroutine, we make sure the file is closed if the coroutine is
closed at the right moment regardless if the socket has been closed or not.
Don't give up so easily when file descriptors are scarce

This will try to open a file a number of times -- decrementing a counter
every time the process file descriptor table is full, and yielding the
coroutine at that point.  This should, in theory, give some time to free up
a file descriptor.  If that counter goes to zero, we just give up and return
a 503 (Service Unavailable) error.  All other errors (Forbidden, Not Found,
etc) as handled as usual.
Split lwan_parse_request() into smaller functions
Avoid negative array index write on read errors

Use ssize_t instead of size_t.
Avoid ignoring error codes from some library calls
Do not continue parsing request if line ends are not found
Remove duplicated lwan-trie.c reference from CMakeLists
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.