Terminate streaming endpoints with an empty chunk

HTTP Streams must be terminated by an empty chunk, or certain clients
will raise errors. For example, trying to `curl` a streaming endpoint
will finish with:

`curl: (18) transfer closed with outstanding read data remaining`

Ensure that streaming endpoints write an empty chunk, denoted by
`0\r\n\r\n` before closing.

Signed-off-by: David Celis <me@davidcel.is>