Tighten type bounds on the parameters to filter methods.

The properties being filtered are all subclasses of the filter's A and B
type parameters. This change makes that explicit.
Make Filter.filterSource work.
Merge pull request #25 from roadrunner2/filter-source-fixes

Filter source fixes