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.

Sorry for the noise in #12, I had a bit of trouble testing it - turns out the last issue was just a dumb typo. I've fixed that and squashed that branch into just one commit.