test: add unittests for CheckProofOfWork
test: add unittests for CheckProofOfWork

following situations are covered:
- negative target
- overflow target
- target easier then powLimit
- invalid hash (hash > target)
- zero target

Signed-off-by: soroosh-sdi <690f46a2ff9f2182f24201adbd81c716b6a1f2c5@gmail.com>

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