move filter implementation to its own package, put it behind an interface
use real NewFilter func in tests
Merge branch 'master' into uniter-extract-filter
add doc comments to Filter interface
Merge pull request #1128 from fwereade/uniter-extract-filter

Uniter: extract Filter

This is trivial: I just put it behind an interface, moved it to its own package, and put the tests in a _test package.