Add tests for optional message fields.
Add tests for optional message fields.

Since fields of a version message after the AddrMe field are optional,
this commit adds a series of tests which ensure parsing version messages
which omit each of the optional fields works properly.

jcmincke/dcrd,adiabat/btcd,CryptocurrencyCabal/htcd,jrick/dcrd,dajohi/btcd,Roasbeef/btcd,toddfries/btcd,jongillham/btcd,btcsuite/btcd,ltcsuite/ltcd,DanielKrawisz/btcd,toddfries/btcd,BitGo/prova,jrick/btcd,qchain/btcd,Roasbeef/btcd,Dirbaio/btcd,danoctavian/btcd,Cleawing/btcd,FactomProject/btcd,dajohi/btcd,jongillham/btcd,aakselrod/btcd,btcsuite/btcd,wallclockbuilder/btcd,decred/dcrd,runeaune/btcd,BitGo/prova,hectorj/btcd,jrick/btcd,ppcsuite/ppcd-old,cjepson/btcd,glv2/ppcd,glv2/ppcd,Dirbaio/btcd,jrick/btcd,aakselrod/btcd,jrick/dcrd,ppcsuite/ppcd,ppcsuite/ppcd,tb00/btcd,1d4Nf6/btcd,stevenroose/btcd,ppcsuite/ppcd-old,pkothbauer/btcd,jimmysong/btcd,ltcsuite/ltcd,CryptocurrencyCabal/htcd,1d4Nf6/btcd,cqswxj2013/btcd,mathiasrw/btcd,cjepson/btcd,davecgh/btcd,cqswxj2013/btcd,dajohi/btcd,decred/dcrd,dan-da/btcd,jcmincke/dcrd,jimmysong/btcd,adiabat/btcd,dan-da/btcd,btcsuitereleases/btcd,mathiasrw/btcd,stevenroose/btcd,Cleawing/btcd,tb00/btcd,Stash-Crypto/btcd,wallclockbuilder/btcd,soapboxsys/ombfullnode,Stash-Crypto/btcd,runeaune/btcd,soapboxsys/ombfullnode,hectorj/btcd,jcmincke/dcrd,danoctavian/btcd,pkothbauer/btcd,FactomProject/btcd,DanielKrawisz/btcd,qchain/btcd,btcsuitereleases/btcd,Dirbaio/btcd,davecgh/btcd