Response headers should have CRLF line endings the same as Request headers. http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
Use '\r\n' line endings in Response.__str__.
I wanted to use a Response instance for some hand-coded HTTP responses and was surprised to see \n separated lines. So yes, this looks correct and I think it should be merged.