patch 9.0.1538: :wqall does not trigger ExitPre

Problem:    :wqall does not trigger ExitPre. (Bart Libert)
Solution:   Move preparations for :qall to a common function. (closes #12374)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 085467e..0fd6d10 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -2269,7 +2269,11 @@
     int		save_forceit = eap->forceit;
 
     if (eap->cmdidx == CMD_xall || eap->cmdidx == CMD_wqall)
+    {
+	if (before_quit_all(eap) == FAIL)
+	    return;
 	exiting = TRUE;
+    }
 
     FOR_ALL_BUFFERS(buf)
     {