patch 8.1.1727: code for viminfo support is spread out

Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes #4686)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 462851d..d824918 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -318,9 +318,7 @@
 #ifndef FEAT_EVAL
 # define ex_compiler		ex_ni
 #endif
-#ifdef FEAT_VIMINFO
-static void	ex_viminfo(exarg_T *eap);
-#else
+#ifndef FEAT_VIMINFO
 # define ex_viminfo		ex_ni
 #endif
 static void	ex_behave(exarg_T *eap);
@@ -10713,31 +10711,6 @@
     return OK;
 }
 
-#ifdef FEAT_VIMINFO
-/*
- * ":rviminfo" and ":wviminfo".
- */
-    static void
-ex_viminfo(
-    exarg_T	*eap)
-{
-    char_u	*save_viminfo;
-
-    save_viminfo = p_viminfo;
-    if (*p_viminfo == NUL)
-	p_viminfo = (char_u *)"'100";
-    if (eap->cmdidx == CMD_rviminfo)
-    {
-	if (read_viminfo(eap->arg, VIF_WANT_INFO | VIF_WANT_MARKS
-				  | (eap->forceit ? VIF_FORCEIT : 0)) == FAIL)
-	    emsg(_("E195: Cannot open viminfo file for reading"));
-    }
-    else
-	write_viminfo(eap->arg, eap->forceit);
-    p_viminfo = save_viminfo;
-}
-#endif
-
 #if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG) || defined(PROTO)
 /*
  * Make a dialog message in "buff[DIALOG_MSG_SIZE]".