args4j-tools: remove extraneous '}' in pom.xml

Signed-off-by: John Keeping <john@metanate.com>
pom: generate OSGi metadata for args4j and args4j-tools

Signed-off-by: John Keeping <john@metanate.com>
Merge pull request #19 from johnkeeping/osgi-bundle

Generate OSGi metadata in JAR files
fixed issue #12 but differently from pull request #15
It doesn't make sense for @Option to have multi-value setting.

This is because whether a setter can handle multiple invocations
well (by retaining all the values) or not (usually by having the last
invocation overwrites all the previous values) are determined
by Setter and setter alone, so asking the user to configure that makes
no sense.

MultivaluedTest indicates that the author of this part of the code seems
to have been thinking about concatanating values or something like that,
but if someone wants that kind of unusual parsing, he should be writing
OptionHandler.
added Setter that handles an array
Fixed the way MapOptionHandler works

The problem with MapSetter is that it has too much logic in it. Setters are not meant to be doing too much --- it's merely there to abstract away the difference between fields and methods. Anything that involves parsing should be OptionHandler.

The reason MapOptionHandler wasn't done cleanly is because setting a Map requires a get access of the field value. So we should expose this from FieldSetter.
Added Setter.asFieldSetter()

In light of issue #16, I'm allowing OptionHandler to access the underlying FieldSetter.
Fixed issue #10.

If the argument index has some gaps, report the error accordingly.
Allow OptionHandlers to access other annotations
added a new OptionHandler that implements a typical sub-command pattern
doc improvement
[maven-release-plugin] prepare release args4j-site-2.0.23
[maven-release-plugin] prepare for next development iteration