Segwit has added ambiguity for 0-input transactions (the 0 can be read as the dummy byte indicating that this is a segwit transcation).
bitcoin-tx needs to be able to parse 0-input partial transactions. This PR causes bitcoin-tx to call DecodeHexTx()
with the fTryNoWitness
flag set, so we attempt to deserialize the transaction as a pre-segwit transaction.
This PR also adds new test cases to verify that bitcoin-tx parses a partial transaction correctly.