Filters now support partially specified classes and also prog-if's

Rewritten the filter parser, the old code was too twisted to extend.
3 files changed