apply eval factor at the end
so it now applies not only to material, but also mobility, king safety, etc.
signature = 9547746
carve out passed pawns eval from do_eval_pawns
was getting way too complicated and deeply nested. there is a cost (repetition of code) but that's ok perf wise thanks to inlining.

No functional change.
signature = 9547746