Display option syntax when reporting errors

When reporting an unknown option or missing required argument,
print the correct syntax for the option
Only print help for the first error that is encountered

The remaining arguments are parsed and the caller of
OptionParser::parse() can continue
to handle the successfully parsed options if they wish