p2p, refactor: make NetPermissionFlags a uint32 enum class
p2p, refactor: make NetPermissionFlags a uint32 enum class

and define/update operation methods to handle type conversions explicitly. See
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Renum-oper
for more info.

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