Add missing license reference, handle blank lines
Recreate OptionGroups each time they are used.

It's not obvious from the Commons CLI documentation, but an
OptionGroup stores command state, specifically which of its member
options was given.  This causes mysterious exceptions when you reuse
an OptionGroup.

I suspect that Option objects also contain command state, but haven't
run into trouble with that yet.
Update version from 11-year-old commons-cli 1.0 to latest 1.2