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
Did not understand this sentence. best guess:

Plus events can represent repeatedable actions (such as listening to a song multiple times). In this case either multiple Plus events with different timestamps will exist, or one Plus event will exist, this plus event will have a greater than 1 count representing the total number of events. Which of these you have will depend on context.