patch 9.0.2154: The option[] array is not sorted

Problem:  The options[] array is not sorted alphabetically.
Solution: Sort it alphabetically.  Add a test.  Avoid unnecessary loop
          iterations in findoption().

closes: #13648

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/option.c b/src/option.c
index df81cf3..4d12834 100644
--- a/src/option.c
+++ b/src/option.c
@@ -4933,11 +4933,13 @@
 	opt_idx = quick_tab[26];
     else
 	opt_idx = quick_tab[CharOrdLow(arg[0])];
-    for ( ; (s = options[opt_idx].fullname) != NULL; opt_idx++)
+    for (; (s = options[opt_idx].fullname) != NULL && s[0] == arg[0]; opt_idx++)
     {
 	if (STRCMP(arg, s) == 0)		    // match full name
 	    break;
     }
+    if (s != NULL && s[0] != arg[0])
+	s = NULL;
     if (s == NULL && !is_term_opt)
     {
 	opt_idx = quick_tab[CharOrdLow(arg[0])];