Add empty dtor for consistency
Inline oneline functions
Add 10 kB and 100 kB test files
Add benchmarking results
Use sendfile() instead of read()/write() loop

Because sendfile() needs the file size, we stat() the file first. And
while we're doing that, we use the result from stat() to deny access to
directories.

Also use MSG_MORE to avoid sending response headers in a smaller packet
than necessary.
Handle HEAD requests
Fix missing socket close upon error