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