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
Is it possible to force one interpretation or the other? I see programmers have trouble with this one. Either "I have to do a lot of extra work because I don't actually know what it means" types of troubule, or "I will just document which interpretation Im going to use and let it break subtlelly if my assumption isn't met" types of troubles.