Implement recommender engine builder

- Create LensKit recommender engine builder, providing API points for #449 and #337
- Factor out recommender engine building to new objects
Factor out recommender engine loader (#337)
Implement graph rewriting (#337)

- Add rewriting to engine builder
- Add rewriting to engine loader
- Re-enable rewriting-based tests
Update FunkSVD tests for rewriting

- Convert to Groovy
- Re-enable skipped tests