patch 8.1.1785: map functionality mixed with character input

Problem:    Map functionality mixed with character input.
Solution:   Move the map functionality to a separate file. (Yegappan
            Lakshmanan, closes #4740)  Graduate the +localmap feature.
diff --git a/src/Makefile b/src/Makefile
index 503fe03..bcfc513 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1612,6 +1612,7 @@
 	json.c \
 	list.c \
 	main.c \
+	map.c \
 	mark.c \
 	memfile.c \
 	memline.c \
@@ -1735,6 +1736,7 @@
 	objects/indent.o \
 	objects/insexpand.o \
 	objects/list.o \
+	objects/map.o \
 	objects/mark.o \
 	objects/memline.o \
 	objects/menu.o \
@@ -1879,6 +1881,7 @@
 	json.pro \
 	list.pro \
 	main.pro \
+	map.pro \
 	mark.pro \
 	mbyte.pro \
 	memfile.pro \
@@ -3169,6 +3172,9 @@
 objects/main.o: main.c
 	$(CCC) -o $@ main.c
 
+objects/map.o: map.c
+	$(CCC) -o $@ map.c
+
 objects/mark.o: mark.c
 	$(CCC) -o $@ mark.c
 
@@ -3604,6 +3610,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/map.o: map.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/mark.o: mark.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 \