WAL replay hangs if the response wasn't received

The way the WAL works is by sequentially and synchronously sending write requests to other nodes using `ClusterServer.MakeRequest`. `MakeRequest` is inherently problematic, since it will block indefinitely waiting for the response, if the response wasn't received `MakeRequest` will never return. In the case of the WAL, that means replication will stop completely until the server is bounced.