add HeaderMatchingFilter
refactor HeaderMatchingFilter to use class variables

.. for header and pattern. This makes it it easier to
define subclasses by overwriting the default values.
respect Filter._tag_blacklist

in HeaderMatchingFilter
use value of class variable Filter.tags as fallback

for 'tags' parameter of Filter.__init__
refactor SpamFilter

to subclass HeadersMatchingFilter
This is backwards compatible with the original version
in that it respects a 'spam_tag' parameter as alternative
to the 'tags' parameter inherited from Filter.
refactor ListMailsFilter

to subclass HeaderMatchingFilter
add 'lists' to default tags inf ListMailsFilter
pass on tags parameter in SpamFilter.__init__

as mentioned in
https://github.com/pazz/afew/commit/8aa05b95cf6e3c94149c63d48a28ca2b8974d7d8#commitcomment-2939393
add missing + in ListMailsFilter

we forgot to appent the plus to indicate that the 'lists' tag should
be added. Otherwise I see the following error:

```
...
  File "/home/pazz/.local/lib/python2.7/site-packages/afew/Filter.py", line 55, in __init__
      raise ValueError('Each tag must be preceded by either + or -')
```
fix: pass on tags as list of str, not a single str
Merge pull request #46 from pazz/re-filter

HeaderMatchingFilter