patch 8.2.4398: some command completion functions are too long

Problem:    Some command completion functions are too long.
Solution:   Refactor code into separate functions.  Add a few more tests.
            (Yegappan Lakshmanan, closes #9785)
diff --git a/src/proto/usercmd.pro b/src/proto/usercmd.pro
index 2016c6b..8eda5a3 100644
--- a/src/proto/usercmd.pro
+++ b/src/proto/usercmd.pro
@@ -1,5 +1,6 @@
 /* usercmd.c */
 char_u *find_ucmd(exarg_T *eap, char_u *p, int *full, expand_T *xp, int *complp);
+char_u *set_context_in_user_cmdarg(char_u *cmd, char_u *arg, long argt, int compl, expand_T *xp, int forceit);
 char_u *set_context_in_user_cmd(expand_T *xp, char_u *arg_in);
 char_u *expand_user_command_name(int idx);
 char_u *get_user_commands(expand_T *xp, int idx);