Fix the --print-all-{missed,ignored} options.

Previously, fail2ban-regex always printed both regardless of whether
those options were present or not.

This commit duplicates the patch I submitted at
https://sourceforge.net/p/fail2ban/patches/25/
Only remember log lines we need to print later.

When testing proccessing a large logfile (430 MB, 2M lines) without
--print-all-missed or --print-all-ignored, fail2ban-regex consumes
just over 2 GB of RAM before completing.  Even though it does not need
to retain any of the missed or ignored log lines, it does anyway.

With this patch, memory use never grows beyond about 11 MB (unless
--print-all-* are enabled).
Add --print-no-{missed,ignored} and restore -all.

Realized --print-all-{missed,ignored} aren't meant to be simple on/off,
but are meant to enable printing all lines even when there are more
than 20.

This restores the behavior of --print-all-*, but preserves the
memory-savings when --print-all-* are not specified.

Also adds --print-no-{missed,ignored} which can be used to suppress
printing of a line type entirely.
Sanity-check print-all-* vs print-no-* options.

Also, fixed a trivial whitespace issue.
Merge pull request #644 from hlein/master

ENH: Changes to --print-* options and memory use for fail2ban-regex