Fix for spinning forever doing a socket recv after serf stops/restarts.

If a user makes a serf RPC call, stops serf, makes another RPC call, this one will spin forever calling socket.recv. Each call to socket.recv will return an empty string, which we should detect and use to raise a connection error.

Comes with a test several times longer. :)