httpd: Add the concept of a response struct

This allows more control over the response, such as adding response
headers. It's also more future-proof and now ensures that all responses
eventually go through the same code path (send_response2()). A rename to
s/2// might be appropriate.

Since this lets us set header, this also fixes the json content type issue.

Fixes #29