2 new event types.

With this we could move the entire exp gain/loss handling to lua, which makes it a lot more flexible.
We also wouldn't need any other functions to change the exp rate and stuff for each individual player, cause we could just parse it through storages or such.
In that case, I'd rather see rawExp removed. If you really need it, you can probably calculate it with monster:getExperience() and getDamageMap(). You are increasing the complexity of the code by keeping it, there isn't only one side effect.