Harden persistent_connection
Harden persistent_connection

Summary:
This hardens persistent connection writes for Windows and reads
for Windows, Linux, and OSX. Now, when an error happens, the client
will be marked as broken, rather than throwing an exception and killing
the server.

Reviewed By: nmote

Differential Revision: D5991755

fbshipit-source-id: 4e0d0caf9b3c1922b58c9f44db131d3654723d06

claudiopro/flow,mroch/flow,JonathanUsername/flow,jamesgpearce/flow,mroch/flow,mroch/flow,popham/flow,JonathanUsername/flow,jamesgpearce/flow,jamesgpearce/flow,samwgoldman/flow,popham/flow,AgentME/flow,nmote/flow,TiddoLangerak/flow,claudiopro/flow,mroch/flow,TiddoLangerak/flow,facebook/flow,ylu1317/flow,AgentME/flow,gabelevi/flow,popham/flow,nmote/flow,claudiopro/flow,gabelevi/flow,JonathanUsername/flow,JonathanUsername/flow,gabelevi/flow,facebook/flow,TiddoLangerak/flow,mroch/flow,jamesgpearce/flow,ylu1317/flow,JonathanUsername/flow,JonathanUsername/flow,ylu1317/flow,popham/flow,samwgoldman/flow,AgentME/flow,samwgoldman/flow,claudiopro/flow,nmote/flow,ylu1317/flow,jamesgpearce/flow,popham/flow,samwgoldman/flow,gabelevi/flow,TiddoLangerak/flow,mroch/flow,gabelevi/flow,AgentME/flow,mroch/flow,jamesgpearce/flow,jamesgpearce/flow,ylu1317/flow,claudiopro/flow,nmote/flow,facebook/flow,AgentME/flow,nmote/flow,facebook/flow,samwgoldman/flow,nmote/flow,TiddoLangerak/flow,facebook/flow,samwgoldman/flow,gabelevi/flow,popham/flow,gabelevi/flow,samwgoldman/flow,nmote/flow,popham/flow,facebook/flow,facebook/flow,JonathanUsername/flow