Move the serialization to the legacy dict format into TxInput
This opens the way to using TxInput internally in the Transaction class while still being able to convert to the legacy dict where it is really needed (saving coins to JSON)
Add tests related to input completeness (incomplete inputs have a value and a xpub)
Depends on D14459