Only query predictions if necessary.

Currently, they will always be calculated, but we're going to put them
inside a partial cache.

Attempted to create a more efficient predictor query, but the
ActiveRecord grouping and summing was confused by ambiguous group by
column names.

Closes #502.
Merge pull request #504 from bellotastudios/performance

Only query predictions if necessary.