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 
As far as I can see, old code raised an exception:
```
-> trg_validate(target_id=None)
-> WorkflowService.new(res_id=None)
-> Record(record_id=None)
-> assert isinstance(record_id, (int, long))
```
and that's a pretty incorrect code, I'd think raising an error on an incorrectly-invoked action would be better than silently not doing anything.