Fix issues with empty, chunked response

Summary: We call sendRaw at the end of a request, which normally causes
headers to be sent (if they haven't already been sent), and does other
"response started" things. If the response is empty, and chunked encoding
has been requested, we skip sending it.

The result is that onSendEnd fails to close the request, and the client
is left dangling until it times out.

Always send, even if the payload is empty.

Reviewed By: afrind

Differential Revision: D1461250