send basic responses in the request hook
add a token list parser

Various headers contain token lists.
all messages have a http version
simplify http_connection_http_error()
parse the Connection header
implement pipelining
fix typo in http_is_token_char()
send a body in http error

Firefox shows a blank page when receiving a http error response without any
body.
implement request timeout
remove useless argument
add an uri parser
decode percent encoding in uri components