patch 8.1.1886: command line expansion code is spread out

Problem:    Command line expansion code is spread out.
Solution:   Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831)
diff --git a/src/Makefile b/src/Makefile
index 5697c28..9bdba1f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1585,6 +1585,7 @@
 	buffer.c \
 	change.c \
 	charset.c \
+	cmdexpand.c \
 	cmdhist.c \
 	crypt.c \
 	crypt_zip.c \
@@ -1712,6 +1713,7 @@
 	objects/change.o \
 	objects/blob.o \
 	objects/blowfish.o \
+	objects/cmdexpand.o \
 	objects/cmdhist.o \
 	objects/crypt.o \
 	objects/crypt_zip.o \
@@ -1852,6 +1854,7 @@
 	buffer.pro \
 	change.pro \
 	charset.pro \
+	cmdexpand.pro \
 	cmdhist.pro \
 	crypt.pro \
 	crypt_zip.pro \
@@ -3013,6 +3016,9 @@
 objects/charset.o: charset.c
 	$(CCC) -o $@ charset.c
 
+objects/cmdexpand.o: cmdexpand.c
+	$(CCC) -o $@ cmdexpand.c
+
 objects/cmdhist.o: cmdhist.c
 	$(CCC) -o $@ cmdhist.c
 
@@ -3514,6 +3520,10 @@
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
  proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
  proto.h globals.h
+objects/cmdexpand.o: cmdexpand.c vim.h protodef.h auto/config.h feature.h os_unix.h \
+ auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
+ proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
+ proto.h globals.h
 objects/cmdhist.o: cmdhist.c vim.h protodef.h auto/config.h feature.h os_unix.h \
  auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
  proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \