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
No need to &= ~KEEP_ALIVE, flags start with 0 anyway
Add a TODO item to verify the suspend/resume cycle of coroutines
Add ASSERT_NOT_REACHED_RETURN() macro
Use ASSERT_NOT_REACHED_RETURN() in I/O wrappers