Unconditionally check for fRelay field in test framework
Unconditionally check for fRelay field in test framework

There is a discrepancy in the implementation of our p2p protocol between
bitcoind and the testing framework.  The fRelay field is an optional
field at the end of a version message as of protocol version 70001.
However, when deserializing a message in bitcoind, we don't check the
version to see if it should have an fRelay field or not.  Instead we
unconditionally attempt to deserialize into the field.

This commit brings the testing framework in line with the implementation
in core.

This matters for a version message with the following fields:

Version = 60000
fRelay = 1

Bitcoind would deserialize this into a version message with
Version=60000 and fRelay=1, whereas (before this commit) our testing
framework would deserialize this into a version message with
Version=60000 and fRelay=0.

ElementsProject/elements,fujicoin/fujicoin,jamesob/bitcoin,prusnak/bitcoin,Xekyo/bitcoin,particl/particl-core,rnicoll/bitcoin,sipsorcery/bitcoin,domob1812/bitcoin,apoelstra/bitcoin,ajtowns/bitcoin,mm-s/bitcoin,lateminer/bitcoin,namecoin/namecore,yenliangl/bitcoin,bitcoinknots/bitcoin,rnicoll/bitcoin,anditto/bitcoin,kallewoof/bitcoin,lateminer/bitcoin,instagibbs/bitcoin,GroestlCoin/GroestlCoin,jambolo/bitcoin,sipsorcery/bitcoin,tecnovert/particl-core,kallewoof/bitcoin,rnicoll/bitcoin,lateminer/bitcoin,andreaskern/bitcoin,namecoin/namecore,bitcoinsSG/bitcoin,fanquake/bitcoin,prusnak/bitcoin,mm-s/bitcoin,mruddy/bitcoin,namecoin/namecoin-core,bitcoin/bitcoin,apoelstra/bitcoin,sipsorcery/bitcoin,tecnovert/particl-core,achow101/bitcoin,yenliangl/bitcoin,prusnak/bitcoin,namecoin/namecoin-core,jambolo/bitcoin,instagibbs/bitcoin,ElementsProject/elements,prusnak/bitcoin,jamesob/bitcoin,achow101/bitcoin,jlopp/statoshi,namecoin/namecoin-core,namecoin/namecoin-core,ElementsProject/elements,ElementsProject/elements,kallewoof/bitcoin,qtumproject/qtum,yenliangl/bitcoin,MarcoFalke/bitcoin,domob1812/namecore,dscotese/bitcoin,achow101/bitcoin,mm-s/bitcoin,Xekyo/bitcoin,JeremyRubin/bitcoin,achow101/bitcoin,qtumproject/qtum,GroestlCoin/bitcoin,anditto/bitcoin,ElementsProject/elements,domob1812/bitcoin,jlopp/statoshi,anditto/bitcoin,sstone/bitcoin,Xekyo/bitcoin,andreaskern/bitcoin,rnicoll/bitcoin,instagibbs/bitcoin,sstone/bitcoin,ajtowns/bitcoin,sstone/bitcoin,particl/particl-core,domob1812/namecore,dscotese/bitcoin,ElementsProject/elements,jamesob/bitcoin,yenliangl/bitcoin,achow101/bitcoin,sipsorcery/bitcoin,bitcoin/bitcoin,fanquake/bitcoin,lateminer/bitcoin,apoelstra/bitcoin,anditto/bitcoin,GroestlCoin/GroestlCoin,kallewoof/bitcoin,AkioNak/bitcoin,fujicoin/fujicoin,kallewoof/bitcoin,lateminer/bitcoin,bitcoinsSG/bitcoin,jambolo/bitcoin,tecnovert/particl-core,AkioNak/bitcoin,ajtowns/bitcoin,jlopp/statoshi,fanquake/bitcoin,kallewoof/bitcoin,qtumproject/qtum,jlopp/statoshi,bitcoinknots/bitcoin,GroestlCoin/GroestlCoin,domob1812/bitcoin,Xekyo/bitcoin,apoelstra/bitcoin,jamesob/bitcoin,sipsorcery/bitcoin,jambolo/bitcoin,mruddy/bitcoin,sstone/bitcoin,jlopp/statoshi,namecoin/namecore,MarcoFalke/bitcoin,bitcoin/bitcoin,sstone/bitcoin,mruddy/bitcoin,particl/particl-core,AkioNak/bitcoin,anditto/bitcoin,ajtowns/bitcoin,JeremyRubin/bitcoin,instagibbs/bitcoin,GroestlCoin/bitcoin,yenliangl/bitcoin,GroestlCoin/bitcoin,bitcoin/bitcoin,MarcoFalke/bitcoin,pataquets/namecoin-core,bitcoin/bitcoin,qtumproject/qtum,Xekyo/bitcoin,namecoin/namecore,pataquets/namecoin-core,domob1812/namecore,qtumproject/qtum,bitcoinsSG/bitcoin,fanquake/bitcoin,bitcoinsSG/bitcoin,mm-s/bitcoin,bitcoin/bitcoin,jamesob/bitcoin,yenliangl/bitcoin,particl/particl-core,JeremyRubin/bitcoin,ajtowns/bitcoin,pataquets/namecoin-core,bitcoinsSG/bitcoin,particl/particl-core,AkioNak/bitcoin,anditto/bitcoin,mm-s/bitcoin,domob1812/bitcoin,tecnovert/particl-core,achow101/bitcoin,GroestlCoin/GroestlCoin,andreaskern/bitcoin,JeremyRubin/bitcoin,bitcoinsSG/bitcoin,namecoin/namecoin-core,mruddy/bitcoin,ajtowns/bitcoin,fujicoin/fujicoin,particl/particl-core,andreaskern/bitcoin,andreaskern/bitcoin,mruddy/bitcoin,MarcoFalke/bitcoin,domob1812/namecore,JeremyRubin/bitcoin,fujicoin/fujicoin,domob1812/bitcoin,GroestlCoin/GroestlCoin,apoelstra/bitcoin,pataquets/namecoin-core,MarcoFalke/bitcoin,bitcoinknots/bitcoin,dscotese/bitcoin,lateminer/bitcoin,jambolo/bitcoin,instagibbs/bitcoin,domob1812/namecore,rnicoll/bitcoin,domob1812/namecore,prusnak/bitcoin,domob1812/bitcoin,pataquets/namecoin-core,tecnovert/particl-core,AkioNak/bitcoin,JeremyRubin/bitcoin,bitcoinknots/bitcoin,qtumproject/qtum,namecoin/namecoin-core,MarcoFalke/bitcoin,fanquake/bitcoin,dscotese/bitcoin,jambolo/bitcoin,sstone/bitcoin,Xekyo/bitcoin,GroestlCoin/bitcoin,fujicoin/fujicoin,dscotese/bitcoin,GroestlCoin/bitcoin,fanquake/bitcoin,andreaskern/bitcoin,fujicoin/fujicoin,sipsorcery/bitcoin,AkioNak/bitcoin,mm-s/bitcoin,rnicoll/bitcoin,GroestlCoin/GroestlCoin,namecoin/namecore,mruddy/bitcoin,jamesob/bitcoin,tecnovert/particl-core,bitcoinknots/bitcoin,instagibbs/bitcoin,pataquets/namecoin-core,prusnak/bitcoin,jlopp/statoshi,qtumproject/qtum,dscotese/bitcoin,apoelstra/bitcoin,namecoin/namecore,GroestlCoin/bitcoin