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
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.