jar source path might be urlencoded, doesn't work on Windows.
improve support for equals as name/value separator
add some javadoc
new constructor for CmdLineParser to optionally not sort options. This is because the order of the options might be purposeful, for example grouping them logically.
revert some inadvertent changes
pass parameters into CmdLineParser constructor in a way inspired by Typesafe config API
test new way of setting width
rename setter
added tests for ParserProperties and no-sort of options
defaults for CmdLineParser in only one place (ParserProperties)
The so-called @-syntax inspired by http://jcommander.org/#Syntax
Provide enum values for argument usage help

Previously users could have a useful argument name or useful argument
values:

    @Argument(required = true, usage = "usage")
    Unable to parse command line arguments: Argument "" is required
     [PENNY | NICKEL | DIME | QUARTER] : usage

    @Argument(metaVar = "coin", required = true, usage = "usage")
    Unable to parse command line arguments: Argument "coin" is required
     coin : usage

Now arguments with metaVar yield:

    @Argument(metaVar = "coin", required = true, usage = "usage")
    Unable to parse command line arguments: Argument "coin" is required
     [PENNY | NICKEL | DIME | QUARTER] : usage

Which more closely matches the option behavior:

    @Option(name = "--coin", required = true, usage = "usage")
    Unable to parse command line arguments: Option "--coin" is required
     --coin [PENNY | NICKEL | DIME | QUARTER] : usage
Provide subcommand names for argument usage help

Before this commit args4j displayed only the metaVar and usage:

Unable to parse command line arguments: Argument "metaVar" is required
Valid options include:
 metaVar : usage

With this commit it displays all subcommand names:

Unable to parse command line arguments: Argument "metaVar" is required
Valid options include:
 [checkout | commit] : usage

This commit follows on to #76.
ParserProperties is only place to store the settings
ParserProperties is only place to store the settings (fixed)
make ParserProperties more compliant to the standard builder pattern
Formatting chanegs
typo
With ParserProperties, this became redundant
More generic to allow Comparator, not just a boolean