dualopen: Refactor dualopen to use interactivetx library
Update dualopen to use interactivetx module for interactive transaction building.
The interactive transaction building routines are being refactored out of dualopen to be used as a general module in three phases:
- Code pulled into module & interface made. See https://github.com/ElementsProject/lightning/pull/5287
- Channeld uses module to implement splicing
- Dualopen is updated to use the new module
This issue is for the third phase. Go through openingd/dualopend.c and remove all code that uses the TX_ADD_INPUT/TX_ADD_OUTPUT/TX_REMOVE_INPUT/TX_REMOVE_OUTPUT/TX_COMPLETE and related peer messages and replace them with code using the interface found in common/interactivetx.h
The thinking for this is two fold: dualopen is leaving experimental while splice is entering experimental. Dogfooding the new code in an experimental feature first seems prudent.
Secondly, it will allow an interop test between splicing using the new module and dualopen using the old method. This will give us greater assurances the refactor isn't introducing any unexpected behavior.