Create a response consumer

Previously the response was being generated by the toString method
on the `HttpResponse` object. That was just a bad practice of seperation
of concerns. Now the `HttpResponse` object is a pure data structure and
the creation of the actual response is handled by the newly created
`HttpResponseConsumer` object.
Merge pull request #46 from blackboxsociety/response_consumer

Create a response consumer Closes #37