port framework_agreement_sourcing to 8.0

Dependencies:
- [ ] merge https://github.com/OCA/vertical-ngo/pull/8
- [x] merge https://github.com/OCA/purchase-workflow/pull/34

Checklist:
- [x] make tests pass in v8
- [x] lint
- [ ] functional test
Should certainly be a TransientModel