remove processOutput and processExistingOutput

instead of processOutput, use processTx instead
processExistingOutput is time based which is not reliable
implement and use txOut.scriptPubKey
createTX returns tx with expected inputs and outputs
always assume change output exists when estimating fee
sign tx
check for dust before creating transaction
throws error on insufficient fund
skip change if it is not above dust threshold