Move lwan-sendfile.c contents to lwan-io-wrappers.c
Fail if section end character is found in config top level
Decode URL before trying to find a URL handler

This makes it possible to request filenames with spaces and other funny,
non-ASCI characters.
Make test unaware of the directory the files are located
Abort coroutine if sendfile() fails non-recoverably
Yield after every sendfile() call, do not eait for EINTR/EAGAIN
Use the actual SCHED_IDLE define instead of hardcoding it
Do not call read() again to obtain the request unless needed
I/O wrappers won't return an error value (they'll kill the coroutine)
Processing requests and sending responses don't need to be boolean functions

Error conditions are now handled by the I/O wrappers.
Move call to _url_decode() to _parse_http_request()
Remove unused itworks.png file
Remove unused variables in config:parse_line()
Add license header to lwan-private.h
Parse byte ranges as unsigned ints rather than ints
Simplify _read_request() a little bit by not having nested loops
Use memcmp() instead of strstr() to find end of request header
Add ASSERT_NOT_REACHED() macro
Make _read_request() more resilient to various error conditions

There are some comments in the code now explaining what these things are
actually making, but in essence, the coroutine will be killed if the
connection has been reset by the peer, and if any error beyond EINTR and
EAGAIN happens, the coroutine is also killed.
Indenting fixes in lwan.h