Fix aggregation with no predictions (#401)

- Add userRow() and finalRow() convenience methods to help
  build user/final result rows more easily
- Return null/NA when no users are scored in a metric