Enhance filters a bit and add integration tests.

Summary:
  - Make filter classes final.
  - Add Javadoc.
  - Add helper functions to be able to pass String objects in argument.
  - Add toString() methods.
Add a new helper function to produce better errors during tests.