patch 8.0.0480: the remote_peek() test fails on MS-Windows

Problem:    The remote_peek() test fails on MS-Windows.
Solution:   Check for pending messages. Also report errors in the first run if
            a flaky test fails twice.
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 45b1478..bddb08d 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -2526,6 +2526,7 @@
     int		i;
     char_u	*reply;
     reply_T	*rep;
+    int		did_process = FALSE;
 
     /* When waiting, loop until the message waiting for is received. */
     for (;;)
@@ -2562,7 +2563,17 @@
 	/* If we got here, we didn't find a reply. Return immediately if the
 	 * "wait" parameter isn't set.  */
 	if (!wait)
+	{
+	    /* Process pending messages once. Without this, looping on
+	     * remote_peek() would never get the reply. */
+	    if (!did_process)
+	    {
+		did_process = TRUE;
+		serverProcessPendingMessages();
+		continue;
+	    }
 	    break;
+	}
 
 	/* We need to wait for a reply. Enter a message loop until the
 	 * "reply_received" flag gets set. */