Couple fixes related to CommandFlags:
* infinite loop in DefaltFlagSyntax
* DefaultFlagSyntax walking past the end of the arguments
* CommandFlags.parse() eating one more argument than was actually parsed
* CommandArguments.success() appending current (next) argument to the
commandString when fallback value was used
Also changed Flag to use collections instead of arrays.