ack will default to color being on if the output is being sent to the
screen and off otherwise. Any user specified option will override.
That's the important thing, user options always override defaults.
I've moved the logic to determine the color default inside
OptionsProcessor because it needs to know if the user has overriden the
default.
I've also added a --pager option and PERLCRITIC_PAGER, similar to Ack,
because what pager you use is a per-user config thing, not per project,
and .perlcriticrc's are often per project.
I put in a special case which is when pager is set to $PAGER it will use
$ENV{PAGER}. That way you can set up the color and pager in a project
config and still have it DTRT.
Finally, the pager will not be used unless STDOUT is to a screen. This
allows "perlcritic Something.pm > critic.out" continue to work in the
presence of a default pager option.
I don't know where to document those last two. I can't find a
comprehensive document about the perlcritic options, the docs for
options seem to be scattered around.