add --include-optional command line argument

It accepts a comma-separated list of package names to
include whenever they appear in optionalDependencies,
or "*" to include all optional dependencies.
Merge branches 'noHelper' and 'optionalDeps'
minimal revert of the format change in 316b63d43500cd0c977c3d61801e3e7f8f7f2a1d