Refactor TestUser to simplify data routing

- Make TestUser an interface
- Implement LenskitTestUser directly against the recommender
- Remove need for suppliers of rating/prediction data
Cache prefetching DAOs in AbstractDataSource