do not push after EOF

Some servers like to return two HTTP responses per one request. Ex:

```
>> nc httpstat.us 80
POST /200 HTTP/1.1
Host: httpstat.us:80
Content-Type: application/x-www-form-urlencoded
Content-Length: 4


t=12
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 6
Content-Type: text/plain; charset=utf-8
Server: Microsoft-IIS/8.0
X-AspNetMvc-Version: 5.1
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Set-Cookie: ARRAffinity=68f2c4702993bb496bba1369216eee8c05d14edfbe81273760dc3e2f77ca437a;Path=/;Domain=httpstat.us:80
Date: Sun, 14 Sep 2014 20:13:19 GMT

200 OKHTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Sun, 14 Sep 2014 20:13:19 GMT
Connection: close
Content-Length: 326

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Verb</h2>
<hr><p>HTTP Error 400. The request verb is invalid.</p>
</BODY></HTML>
```

This ends the socket writes after the first EOF, otherwise we try to keep pushing data into the stream after it's already been closed.
Should probably rename this function to describe it just wrapping parsing fns now.