fix(server): use EmptyWriter for status codes that have no body
fix(server): use EmptyWriter for status codes that have no body

Previously, hyper was defaulting to Chunked which adds a Transfer-Encoding
header, whenever there was no Content-Length header. RFC 7230 section 3.3.1
reads:

   ...
   A server MUST NOT send a Transfer-Encoding header field in any
   response with a status code of 1xx (Informational) or 204 (No
   Content). A server MUST NOT send a Transfer-Encoding header field in
   any 2xx (Successful) response to a CONNECT request
   ...

This commit fixes the cases of 1xx (Informational), 204 (No Content) by
using the EmptyWriter. It also uses EmptyWriter for 304 (NotModified) which
should not have a body.

It does NOT address the case of responses to CONNECT requests, or to HEAD
requests which do not send a body.  These cases cannot be determined using
the data available in the response, and are left for future work.

yangxingpping/hyper,tshepang/hyper,jmmaranan/hyper,tshepang/hyper,Twey/hyper,Keats/hyper,hannobraun/hyper,nickgonzales/hyper,Keats/hyper,Keats/hyper,fhahn/hyper,hannobraun/hyper,markuskobler/hyper,markuskobler/hyper,softprops/hyper,hannobraun/hyper,yazaddaruvala/hyper,mfeckie/hyper,achanda/hyper,golddranks/hyper,tshepang/hyper,markuskobler/hyper,ianks/hyper,Twey/hyper,hyperium/hyper,golddranks/hyper,sfackler/hyper,nickgonzales/hyper,Twey/hyper,fengsp/hyper,yazaddaruvala/hyper,nickgonzales/hyper,golddranks/hyper,hyperium/hyper,hyperium/hyper,bheesham/hyper