CLOP-timize drawish factors (4238122)
- Reorganize code so that eval_factor is computed in interpolate(), at the end. The point is that eval_factor is contingent on stronger_side, which has to be determined at the very end, when all eval stuff is computed. Separating eval_factor calculation in its own function invited the bug fixed here 99f8a2599ff386b747c084c5b47a3433e0263e92.
- Simplify factor by using only a single factor for opposite color bishop. For continuity, use a more gradual approach which consists of only applying applying the factor to the endgame part of the eval.
- Generalize the applciation of eval_factor only to the endgame part of the eval, while we're at it. After all, it makes sense in all cases of drawishness.
- CLOP-timize factors, using two variables: (a,b). a = factor for no pawns, a/2 = factor for no mating material, b = factor for opposite color bishop.

Zero elo patch, but produces smooth scores, and is more prudent with opposite color bishop in the middlegame (where previous scaling would often backfire). The new logic looks prettier and smoother to me, so let's commit.