Handle multiple header values

* Handle Multiple header values in a HTTP request by collapsing them
* Handle multiple values for a response header by collapsing where possible
* Correctly handle the case where there are multiple Content-Lengths
* Sanely handle multiple Host headers
* Handle multiple values in a Connection header

Fixes #7