port framework_agreement_requisition

- [x] make tests pass in v8
- [x] functional test
You can use

class BaseModel(object):
    def signal_workflow(self, cr, uid, ids, signal, context=None):

It also works for multiple ids.