patch 9.0.1369: still some "else if" constructs for setting options

Problem:    Still some "else if" constructs for setting options.
Solution:   Add a few more functions for handling options. (Yegappan
            Lakshmanan, closes #12090)
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index bad8dd6..7bd4216 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -1640,18 +1640,18 @@
   if has('win32') && has('terminal')
     call add(optlist, ['termwintype', 'winpty', 'a123'])
   endif
-  if has('+toolbar')
+  if exists('+toolbar')
     call add(optlist, ['toolbar', 'text', 'a123'])
     call add(optlist, ['toolbariconsize', 'medium', 'a123'])
   endif
-  if has('+mouse')
+  if exists('+ttymouse') && !has('gui')
     call add(optlist, ['ttymouse', 'xterm', 'a123'])
   endif
-  if has('+vartabs')
+  if exists('+vartabs')
     call add(optlist, ['varsofttabstop', '12', 'a123'])
     call add(optlist, ['vartabstop', '4,20', '4,'])
   endif
-  if has('gui')
+  if exists('+winaltkeys')
     call add(optlist, ['winaltkeys', 'no', 'a123'])
   endif
   for opt in optlist