CRM-13244 - ActionSchedule - Extract entity-specific logic for tokens and dropdowns.
The `ActionSchedule` BAO had a ton of duplicate, helter-skelter code for
looking up specific details about specific entities and mappings. The
mapping class (`CRM_Core_DAO_ActionMapping`) had an anemic model. The
mapping records could be modified in the DB, but in practice this was
pointless because they depended on so many hard-coded lookups. And there
were some confusing variable names (sel1, sel2, sel3, etc) and
variable-shuffling.
This revision moves several entity-specific bits into new classes
(`Civi\ActionSchedule\Mapping` and `CRM_Core_ActionScheduleTmp`), abandons
the pretense of DB editing, centralizes mapping-related lookups, and replaces
various references to `CRM_Core_DAO_ActionMapping`.
This is envisioned as an intermediate step; the two classes are still a bit
heavy (mixing together logic for unrelated entities) and should be split
further.