refactor(ResponseWriter): wrap as Response struct
fix(router): fix test
refactor(Response): set headers in response

This moves the manipulation of the header
into the `Response` struct into a `write`
method that should be used in favor of
`response.origin.write` which might be
made private in the future.
docs(*): updated floor docs and Readme