Extracted the from_stream static method for constructing a HeaderCollection from a socket.
Added the read_body_from_stream function.
Automatically add Content-Length to outgoing requests with bodies.
Made it read bodies from the streams.
Used 'in' on the HeaderCollection, instead of '.lower()'.
Added tests for bodies.
Made it add a Content-Length header on responses.
Made sending of the body depend on whether there is a body to send.
Made sending of the body depend on whether there is a body to send.
Added tests for sending headers with the same name across the wire.
Fixed sending of duplicate headers.
Merge branch 'bodies' into develop