Refactor slave price calculation for buyers. Costs are now rounded consistently instead of each buyer having their own (sometimes slightly different) copy of the rounding code.
Rework market discount/penalty to clean it up and use named modifiers that we can put in tooltips. Supercedes and closes !10234 (closed) since @lowercasedonkey probably isn't going to finish it. (Edit: doesn't look like I can close it, so you'll need to.)
Simplify neighbor market opinion logic.
Consolidate school discount code, and fix HA/TUO discounts not matching the event text that enables them. Fixes #3825 (closed).
Fix opinion discount/penalty for buying slaves from neighbor arcologies.