patch 8.1.1823: command line history code is spread out

Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
diff --git a/src/feature.h b/src/feature.h
index e2166a1..89d6cae 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -102,10 +102,8 @@
 
 /*
  * +cmdhist		Command line history.
+ *			Now always included.
  */
-#ifdef FEAT_SMALL
-# define FEAT_CMDHIST
-#endif
 
 /*
  * Message history is fixed at 200 message, 20 for the tiny version.
@@ -123,8 +121,7 @@
 # define FEAT_JUMPLIST
 #endif
 
-/* the cmdline-window requires FEAT_CMDHIST */
-#if defined(FEAT_CMDHIST)
+#if defined(FEAT_SMALL)
 # define FEAT_CMDWIN
 #endif