Convert "trigger" server action to new API & model method

* I think the handling of subfields matches the old one (roughly), but not entirely certain.
* It should now work with m2m and o2m fields whereas previously it'd just blow up, not sure if that's good or bad.
* Maybe the ``getattr`` result could be typechecked against ``IdType`` just in case?
* I believe wkf_model_id could be removed: we can get it via `action.wkf_field_id.model_id` no? Because currently they could be different models which doesn't really make sense.

/cc @rco-odoo @odony 
I would use `context.get('active_id')` instead of `context['active_id']`, just in case.
If there is no `active_id`, `record` will be empty, and `record.signal_workflow()` will have no effect.