Start writing tests.
Change the request/response API and implement HTTP verbs.

HTTP status, URL and method should not be part of the Message.
It is passed via the request/response methods.
Include the parsed parts of a requested URL via url_* attrs in
the Request object.