Enable repetition of config values

So far config values were stored as values in a dict. Repeating a key in a
config meant overriding the previous value.

This commit saves the values in a list, allowing multiple occurences of the same
key.
Teach `got_match()` to work on lists of patterns

So far above function tried to match a given string against a given pattern.

This commit replaces the pattern with a reference to an array and loops over it
to check the given string against each individual pattern.
Made it print the RegEx it matches on

If you have multiple discarf_if_* statements you might want to know why
listadmin decided to discard an email. You will now be informed which
regular expression matched the mail.
Introduced accept_if_subject and accept_if_from

To white list entries based on their subject or from address. This is
implemented in an weird fashion trying to not break the rest of the
behaviour of listadmin (i.e. undo). It seems to work well.

You also profit from the ability to have these statements multiple
times in your config.

A few oddities: accept_if_* is stronger than discard_if_*. So if you
list the same expression as both, accept_if_from and discard_if_from,
the matching mail will be accepted in the end.

You will, however, get two notifications about this as well.

Example session:
fetching data for gtk-devel-list@mail.gnome.org ...

[1/2] ============== some-list@mail.example.com ===================
From:     foo@bar.com
Subject:  coolum@yatt.com.au
Reason:   Post by non-member to a members-only list            Spam? 0
Automatically discarded due to matching Subject
Matching RE: "@yatt.com.au"
Automatically accepted due to matching Subject
Matching RE: "@yatt.com.au"