Several simple bugfixes in CommandArguments nad DefaultFlagSyntax

* fix a couple of IOOBEs in CommandArguments padding handling
* add CommandArguments.hasNext(argName) to allow easily checking if
there are more arguments or the next argument is overriden
* fix a couple of missing ++i statements in DefaultFlagSyntax
* fix reverse comparison in DefaultFlagSyntax.complete()
Preserve arg overrides when parsing flag arguments

Change CommandArguments so that a subclass can decide how and which
arguments are overriden. Add PositionallyOverridableCommandArguments
which extends CommandArguments and performs argument overrides basing on
index instead of argument name. Use it in DefaultFlagSyntax to override
arguments in flag's CommandArguments whose corresponding arguments in
main CommandArguments were overriden.