Refuse to retransmit transactions without vins

Versions of bitcoin before 0.8.6 have a bug that inserted
empty transactions into the vtxPrev in the wallet, which will cause the node to be
banned when retransmitted, hence add a check for !tx.vin.empty()
before RelayTransaction.
Merge pull request #3357

4ef92a9 Refuse to retransmit transactions without vins (Wladimir J. van der Laan)