This makes the Transaction class use TxInput everywhere internally, except for a few remaining methods that work with `fetched_inputs` which still need to be converted.
Input setters and their callsites are also converted:
- `Transaction.add_inputs`
- `Transaction.set_inputs`
- `Transaction.update_input`
- `Transaction.from_io`
As of this diff, `sweep` uses TxInput objects to estimate the tx size, so the test needs to be adjusted to have properly formed scriptsigs that can be parsed by TxInput.