test: add "diamond" unit test to MempoolAncestryTests
test: add "diamond" unit test to MempoolAncestryTests

Approaches #17271.
If ancestors are represented more than once, check that those are not
overcounted.

fanquake/bitcoin,alecalve/bitcoin,fujicoin/fujicoin,namecoin/namecoin-core,mm-s/bitcoin,Xekyo/bitcoin,tjps/bitcoin,domob1812/bitcoin,tecnovert/particl-core,AkioNak/bitcoin,n1bor/bitcoin,tecnovert/particl-core,ahmedbodi/vertcoin,anditto/bitcoin,domob1812/bitcoin,bitcoinsSG/bitcoin,litecoin-project/litecoin,kallewoof/bitcoin,mitchellcash/bitcoin,MeshCollider/bitcoin,sipsorcery/bitcoin,mruddy/bitcoin,fujicoin/fujicoin,DigitalPandacoin/pandacoin,apoelstra/bitcoin,jnewbery/bitcoin,pstratem/bitcoin,jamesob/bitcoin,qtumproject/qtum,ajtowns/bitcoin,mm-s/bitcoin,apoelstra/bitcoin,qtumproject/qtum,peercoin/peercoin,jlopp/statoshi,yenliangl/bitcoin,ahmedbodi/vertcoin,pataquets/namecoin-core,GroestlCoin/bitcoin,GroestlCoin/GroestlCoin,peercoin/peercoin,MarcoFalke/bitcoin,Xekyo/bitcoin,peercoin/peercoin,jlopp/statoshi,Xekyo/bitcoin,Sjors/bitcoin,jlopp/statoshi,namecoin/namecore,tjps/bitcoin,andreaskern/bitcoin,yenliangl/bitcoin,anditto/bitcoin,AkioNak/bitcoin,GroestlCoin/bitcoin,tjps/bitcoin,vertcoin/vertcoin,practicalswift/bitcoin,gjhiggins/vcoincore,mitchellcash/bitcoin,jlopp/statoshi,sstone/bitcoin,instagibbs/bitcoin,vertcoin/vertcoin,jamesob/bitcoin,lateminer/bitcoin,mitchellcash/bitcoin,MarcoFalke/bitcoin,fujicoin/fujicoin,tecnovert/particl-core,rnicoll/dogecoin,prusnak/bitcoin,andreaskern/bitcoin,apoelstra/bitcoin,GroestlCoin/bitcoin,Xekyo/bitcoin,apoelstra/bitcoin,ahmedbodi/vertcoin,instagibbs/bitcoin,mitchellcash/bitcoin,apoelstra/bitcoin,dscotese/bitcoin,jamesob/bitcoin,qtumproject/qtum,domob1812/namecore,mm-s/bitcoin,DigitalPandacoin/pandacoin,litecoin-project/litecoin,cdecker/bitcoin,dscotese/bitcoin,midnightmagic/bitcoin,vertcoin/vertcoin,bitcoinknots/bitcoin,n1bor/bitcoin,ElementsProject/elements,rnicoll/bitcoin,jlopp/statoshi,ahmedbodi/vertcoin,bitcoinknots/bitcoin,instagibbs/bitcoin,JeremyRubin/bitcoin,lateminer/bitcoin,EthanHeilman/bitcoin,bitcoin/bitcoin,bitcoinknots/bitcoin,bitcoinsSG/bitcoin,midnightmagic/bitcoin,prusnak/bitcoin,n1bor/bitcoin,mitchellcash/bitcoin,lateminer/bitcoin,Sjors/bitcoin,jonasschnelli/bitcoin,Xekyo/bitcoin,qtumproject/qtum,AkioNak/bitcoin,jlopp/statoshi,tecnovert/particl-core,anditto/bitcoin,qtumproject/qtum,alecalve/bitcoin,particl/particl-core,jonasschnelli/bitcoin,rnicoll/bitcoin,bitcoinsSG/bitcoin,bitcoin/bitcoin,DigitalPandacoin/pandacoin,rnicoll/bitcoin,kallewoof/bitcoin,ajtowns/bitcoin,domob1812/bitcoin,kallewoof/bitcoin,domob1812/bitcoin,mruddy/bitcoin,jambolo/bitcoin,vertcoin/vertcoin,Sjors/bitcoin,bitcoin/bitcoin,cdecker/bitcoin,pstratem/bitcoin,ajtowns/bitcoin,bitcoin/bitcoin,alecalve/bitcoin,pataquets/namecoin-core,jnewbery/bitcoin,tjps/bitcoin,jonasschnelli/bitcoin,jambolo/bitcoin,vertcoin/vertcoin,yenliangl/bitcoin,JeremyRubin/bitcoin,instagibbs/bitcoin,GroestlCoin/bitcoin,lateminer/bitcoin,n1bor/bitcoin,particl/particl-core,AkioNak/bitcoin,ajtowns/bitcoin,mitchellcash/bitcoin,particl/particl-core,GroestlCoin/GroestlCoin,alecalve/bitcoin,monacoinproject/monacoin,EthanHeilman/bitcoin,JeremyRubin/bitcoin,EthanHeilman/bitcoin,jnewbery/bitcoin,monacoinproject/monacoin,domob1812/bitcoin,qtumproject/qtum,ajtowns/bitcoin,litecoin-project/litecoin,jamesob/bitcoin,cdecker/bitcoin,monacoinproject/monacoin,peercoin/peercoin,midnightmagic/bitcoin,bitcoin/bitcoin,GroestlCoin/GroestlCoin,tecnovert/particl-core,litecoin-project/litecoin,monacoinproject/monacoin,fujicoin/fujicoin,cdecker/bitcoin,GroestlCoin/bitcoin,mm-s/bitcoin,sipsorcery/bitcoin,andreaskern/bitcoin,ElementsProject/elements,mruddy/bitcoin,pataquets/namecoin-core,tecnovert/particl-core,achow101/bitcoin,rnicoll/dogecoin,prusnak/bitcoin,namecoin/namecore,ElementsProject/elements,sstone/bitcoin,cdecker/bitcoin,sipsorcery/bitcoin,domob1812/namecore,fanquake/bitcoin,dscotese/bitcoin,dscotese/bitcoin,pataquets/namecoin-core,ElementsProject/elements,rnicoll/bitcoin,MarcoFalke/bitcoin,mm-s/bitcoin,rnicoll/dogecoin,sipsorcery/bitcoin,MarcoFalke/bitcoin,rnicoll/dogecoin,GroestlCoin/GroestlCoin,MeshCollider/bitcoin,bitcoinsSG/bitcoin,namecoin/namecore,JeremyRubin/bitcoin,DigitalPandacoin/pandacoin,achow101/bitcoin,pataquets/namecoin-core,sipsorcery/bitcoin,midnightmagic/bitcoin,namecoin/namecoin-core,tjps/bitcoin,yenliangl/bitcoin,cdecker/bitcoin,sstone/bitcoin,domob1812/namecore,andreaskern/bitcoin,DigitalPandacoin/pandacoin,rnicoll/bitcoin,kallewoof/bitcoin,gjhiggins/vcoincore,sstone/bitcoin,kallewoof/bitcoin,dscotese/bitcoin,domob1812/namecore,particl/particl-core,practicalswift/bitcoin,achow101/bitcoin,yenliangl/bitcoin,namecoin/namecoin-core,ajtowns/bitcoin,bitcoinknots/bitcoin,pstratem/bitcoin,practicalswift/bitcoin,instagibbs/bitcoin,particl/particl-core,vertcoin/vertcoin,litecoin-project/litecoin,gjhiggins/vcoincore,namecoin/namecoin-core,namecoin/namecore,MarcoFalke/bitcoin,pstratem/bitcoin,jambolo/bitcoin,qtumproject/qtum,fanquake/bitcoin,GroestlCoin/GroestlCoin,prusnak/bitcoin,sstone/bitcoin,midnightmagic/bitcoin,kallewoof/bitcoin,EthanHeilman/bitcoin,MeshCollider/bitcoin,MeshCollider/bitcoin,pstratem/bitcoin,n1bor/bitcoin,midnightmagic/bitcoin,JeremyRubin/bitcoin,ahmedbodi/vertcoin,jambolo/bitcoin,bitcoinsSG/bitcoin,JeremyRubin/bitcoin,fujicoin/fujicoin,GroestlCoin/bitcoin,apoelstra/bitcoin,anditto/bitcoin,EthanHeilman/bitcoin,mm-s/bitcoin,Sjors/bitcoin,bitcoinsSG/bitcoin,rnicoll/dogecoin,ElementsProject/elements,MeshCollider/bitcoin,achow101/bitcoin,fanquake/bitcoin,gjhiggins/vcoincore,dscotese/bitcoin,anditto/bitcoin,mruddy/bitcoin,achow101/bitcoin,domob1812/bitcoin,n1bor/bitcoin,sstone/bitcoin,jonasschnelli/bitcoin,practicalswift/bitcoin,pstratem/bitcoin,peercoin/peercoin,lateminer/bitcoin,namecoin/namecore,instagibbs/bitcoin,sipsorcery/bitcoin,jamesob/bitcoin,Sjors/bitcoin,jambolo/bitcoin,jnewbery/bitcoin,particl/particl-core,prusnak/bitcoin,pataquets/namecoin-core,namecoin/namecore,fujicoin/fujicoin,domob1812/namecore,anditto/bitcoin,namecoin/namecoin-core,alecalve/bitcoin,rnicoll/bitcoin,jamesob/bitcoin,namecoin/namecoin-core,alecalve/bitcoin,fanquake/bitcoin,monacoinproject/monacoin,andreaskern/bitcoin,mruddy/bitcoin,andreaskern/bitcoin,EthanHeilman/bitcoin,monacoinproject/monacoin,gjhiggins/vcoincore,MeshCollider/bitcoin,domob1812/namecore,litecoin-project/litecoin,tjps/bitcoin,ElementsProject/elements,gjhiggins/vcoincore,jonasschnelli/bitcoin,mruddy/bitcoin,jambolo/bitcoin,achow101/bitcoin,yenliangl/bitcoin,practicalswift/bitcoin,prusnak/bitcoin,MarcoFalke/bitcoin,GroestlCoin/GroestlCoin,fanquake/bitcoin,DigitalPandacoin/pandacoin,lateminer/bitcoin,AkioNak/bitcoin,bitcoin/bitcoin,peercoin/peercoin,AkioNak/bitcoin,practicalswift/bitcoin,jnewbery/bitcoin,Xekyo/bitcoin,bitcoinknots/bitcoin,ahmedbodi/vertcoin