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
Usually, nothing. If something has multiple weights of 'plus'? But then that's really a rating.

Should we have separate `Plus` and `PlusBatch` types? And `PlusBatch` never has a timestamp?