Fix parsing of witnesses
Fix parsing of witnesses

The lengths in the witness structure are `var_int` not pushes.

From BIP-141:
The `witness` is a serialization of all witness data of the transaction.
Each txin is associated with a witness field. A witness field starts
with a `var_int` to indicate the number of stack items for the txin. It is
followed by stack items, with each item starts with a `var_int` to
indicate the length. Witness data is NOT script.

This bug was triggered by tx
d379210d85c1346dafbfd60e3cbc5c5573e50b1f9576d39f177afb2b378f1b98

pooler/electrum-ltc,dabura667/electrum,kyuupichan/electrum,spesmilo/electrum,fyookball/electrum,neocogent/electrum,dabura667/electrum,romanz/electrum,wakiyamap/electrum-mona,cryptapus/electrum,vialectrum/vialectrum,neocogent/electrum,dabura667/electrum,digitalbitbox/electrum,asfin/electrum,digitalbitbox/electrum,dabura667/electrum,fujicoin/electrum-fjc,fujicoin/electrum-fjc,vialectrum/vialectrum,cryptapus/electrum,fujicoin/electrum-fjc,wakiyamap/electrum-mona,cryptapus/electrum,neocogent/electrum,pooler/electrum-ltc,wakiyamap/electrum-mona,digitalbitbox/electrum,romanz/electrum,fyookball/electrum,fyookball/electrum,pooler/electrum-ltc,spesmilo/electrum,romanz/electrum,digitalbitbox/electrum,wakiyamap/electrum-mona,vialectrum/vialectrum,pooler/electrum-ltc,asfin/electrum,asfin/electrum,spesmilo/electrum,spesmilo/electrum,kyuupichan/electrum,kyuupichan/electrum