Iterative changes

- Use Field*().In(...) or .Matches(...) to reduce fan out of new
  functions needed.
- Make more things public.
- Add filter_test.go
More documentation, testing, iteration
Add Label struct