Refuse to retransmit transactions without vins

There is a bug that inserted empty transactions into the vtxPrev in the wallet (see #3356 for the fix), which will cause the node to be banned when retransmitted.

As wallets with these invalid vtxprevs will be around for a while to come, add a check for !tx.vin.empty() before RelayTransaction.

Part two of the solution for #3190.