Pull the `linear_scoring` if out of the hot bucket iteration loop
Our loops iterating the scoring buckets are incredibly
performance-sensitive. Currently, inside them, we branch on whether
we're doing a linear or non-linear scoring, selecting a different
probability model depending on our parameters. While the branching
itself isnt' necessarily all that problematic, by pulling the
branching out of the loop we open up the possibility of future
optimizations on a per-model basis.