Fix aggregation with no predictions

Fix aggregation with no predictions (#401).

- Add userRow() and finalRow() convenience methods to help build user/final result rows more easily (including empty rows)
- Return null/NA when no users are scored in a metric