Merge pull request #2 from trapni/new

make sure you SO_REUSEADDR on the listener socket, makes development easier also.
experimental / temp: accept directly in the worker
Revert "experimental / temp: accept directly in the worker"

This reverts commit e6354c6b4732c64f7342b22b4696ce613849a410.
implements http keepalive
http_read_version and http_read_header
proper keepalive implementation for http/1.1
clean up http parser
strip leading whitespace from http header values
respect the Connection: Keep-Alive request header
actually make this multi-threaded :)
fixed communication pipe to be non-blocking.