Split response, status, headers into separate structs

This is the start of breaking response-related concerns out into separate structs.  I'm starting to notice my OO experience influencing the C code I'm writing -- not sure if that's a good thing or a bad thing.  

Right now a `Response` can only have a single header, but I'm going to look next at having a collection of header structs that I can just iterate over and generate the response text sent to the client.  I imagine that we can add things like `Content-Type` by looking at the extension in a `mime.types` file or something (similar to Apache).