Tentative safeSink for a Socket. It should try reopening the Socket
every time the call to sendAll fails. This means that some bytes might be sent
multiple times, if the socket fails in the middle of the sendAll call. This is
targeted at protocols where only a full message makes sense.