Move things used only in one place out of lwan.h
Some I/O operations now kills the coroutines on unrecoverable errors

On recoverable errors (EAGAIN, EWOULDBLOCK, EINTR), the wrappers will yield
with a non-zero value until the operaton actually works (or after a limited
number of tries). On non-recoverable errors, the coroutine will yield a zero
value, effectively killing it -- sort of throwing an exception that's handled
somewhere else.
Update test suite after reorganizing source tree