Switch to using builders for feeds

- Feed now provides builders for filters, fetchers, and parsers.
- Tighten up validation for Feed attributes
- Parsers:
  - No longer initialize with IO.
  - Now have a #run method that accepts an IO object
- Add equality testing for filter and parser instances

Add filter builders