Implement basic support for Top-N metrics

This starts working on #388, implementing basic support for Top-N metrics.

This has already been merged in to LensKit 2.0.3, or at least will be very soon, with #389. I'm running a separate PR for merging to `master` so that we can review and improve more as needed.

This will also hopefully provide a useful basis for a revision of #385.