[IMP] sale: Hooks for the base price and the quantity of a sale line

With these hooks, additions like a second or third discount, or 3x2 like offers, can be made in a clean way, without rewriting functions in the core.