Fix broken cmdline parsing when --stop-on-failure in use.
As reported in bug 402509, as position of command line argument changes
the module build list.
What was happening was --stop-on-failure in particular could 'eat' the
next command line argument, because even though it was manually
specified as a 'flag' argument to Getopt::Long, the 'stop-on-failure'
entry was then overridden in the function call to read options by
including the options in ksb::BuildContext::defaultGlobalFlags.
A coding error on my part caused this inclusion of options to treat the
options as requiring string values instead of boolean flags. As a result
Getopt::Long would read the next non-option value and assign it to the
'stop-on-failure' result.
Fixed by treating the included flags as boolean flags instead of string
valued, and by ensuring that the two sources for cmdline options are
fully disjoint. I also added a test that fails with the old code and
works with the new.
Fixes #8
BUG:402509
FIXED-IN:19.01