Add EXTERNAL tx type
It will allow clients to specify inputs and outputs when creating proposals
Extract _validateOutputs method
Use for-loop to simplify and make it fail-fast.
Do not validate outputs for EXTERNAL tx type
Outputs may be of any kind (e.g. OP_RETURN). It is assumed that outputs are validated by caller.
Move output validation to a single place
Check tx and estimate fees for EXTERNAL proposal
Set amount for external proposals
Use changeAddress to determine network
Do not shuffle outputs for EXTERNAL txp
Fix input selection to respect fees
Add more inputs, if we selected exactly the amount to spend, so we avoid 'Insufficient funds for a fee' error
Properly handle UTXO with 0 satoshis
Minor fixes
ignore invalid utxos