[v2.3-stable] Add charge carrier trapping models
Backport of MRs !623 (merged) and !624 (merged), adding trapping capabilities.
Since we are lacking CarrierState
from !591 (merged) (which introduces backwards-incompatible object changes) I had to alter/redo the trapping logic a bit for the propagation modules. Review with care.