Add basic implicit feedback data support

This adds basic support for implicit feedback data.

- Adds `Plus` event (#517)
- Refactor text-based data access to be more general, deprecating `SimpleFileRatingDAO` and creating new `o.g.l.data.text` package
- Support reading CSV files of unary events, optionally with timestamps
- Support reading CSV files of arbitrary event types with arbitrary fields
Couldn't this change be a breaking change if people expect DelimitedTextCursor to extend AbstractPollingCursor in particular?
`AbstractPollingCursor cursor = new DelimitedTextCursor`... 
(I kinda doubt thats really an issue, but we do want to avoid any possible breaking change if we arn't prepping for a major revision)