patch 8.1.1210: support for user commands is spread out

Problem:    Support for user commands is spread out. No good reason to make
            user commands optional.
Solution:   Move user command support to usercmd.c.  Always enable the
            user_commands feature.
diff --git a/src/Makefile b/src/Makefile
index 40f4b1b..0e719ea 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1635,6 +1635,7 @@
 	textprop.c \
 	ui.c \
 	undo.c \
+	usercmd.c \
 	userfunc.c \
 	version.c \
 	window.c \
@@ -1747,6 +1748,7 @@
 	objects/textprop.o \
 	objects/ui.o \
 	objects/undo.o \
+	objects/usercmd.o \
 	objects/userfunc.o \
 	objects/version.o \
 	objects/window.o \
@@ -1885,6 +1887,7 @@
 	textprop.pro \
 	ui.pro \
 	undo.pro \
+	usercmd.pro \
 	userfunc.pro \
 	version.pro \
 	window.pro \
@@ -3242,6 +3245,9 @@
 objects/undo.o: undo.c
 	$(CCC) -o $@ undo.c
 
+objects/usercmd.o: usercmd.c
+	$(CCC) -o $@ usercmd.c
+
 objects/userfunc.o: userfunc.c
 	$(CCC) -o $@ userfunc.c
 
@@ -3657,6 +3663,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/usercmd.o: usercmd.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/userfunc.o: userfunc.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 \