Generalize premium rebate calculation and administration cost reserves
Introduce hooks Hooks$premiumRebateCalculation and Hooks$adjustPVForReserves to modify the premium rebate calculation (e.g. a rebate relative to admin cost, or admin cost reserves that exclude a premium rebate). The premiumRebateCalculation hook is called after the premiumRebate rate is evaluated and can be used to adjust the rate to some other value that e.g. includes reserves / future present values, etc. This way, one can have a varying rate, but always the same logic to apply the rebate rate. So parameter and calculation are separated cleanly. The adjustPVForReserves hook is called before all present values are combined to the corresponding reserves. This allows modifying all present values that will be used in the reserves. E.g. one can reduce the admin cost present values by a premium rebate and the admin cost reserve properly discounts the rebate from the reserve. The PV modifications have NO influence on the actual present values stored for the contract or used for other purposes. Only the local copy of the present values in the reserve calculation funciton is modified.