Re-implement WINNER, support "done @promises"
Re-implement WINNER, support "done @promises"

Much of the logic existed twice in the sub, this has now been simplified.  Also,
any parameter sanity tests are now performed *before* looking for a Promise/Channel
so that problems in parameters do not stay hidden if they just did not happen to hit
that case.

Leont/rakudo,dankogai/rakudo,tbrowder/rakudo,dankogai/rakudo,rakudo/rakudo,laben/rakudo,tbrowder/rakudo,teodozjan/rakudo,softmoth/rakudo,skids/rakudo,ab5tract/rakudo,LLFourn/rakudo,dankogai/rakudo,rakudo/rakudo,ugexe/rakudo,cognominal/rakudo,niner/rakudo,tony-o/deb-rakudodaily,dwarring/rakudo,tony-o/rakudo,paultcochrane/rakudo,Gnouc/rakudo,cygx/rakudo,sergot/rakudo,cognominal/rakudo,tbrowder/rakudo,ugexe/rakudo,sjn/rakudo,ungrim97/rakudo,samcv/rakudo,tbrowder/rakudo,salortiz/rakudo,zostay/rakudo,retupmoca/rakudo,tony-o/deb-rakudodaily,cygx/rakudo,rakudo/rakudo,azawawi/rakudo,lucasbuchala/rakudo,usev6/rakudo,jonathanstowe/rakudo,MasterDuke17/rakudo,azawawi/rakudo,lucasbuchala/rakudo,jonathanstowe/rakudo,sergot/rakudo,raydiak/rakudo,usev6/rakudo,labster/rakudo,zhuomingliang/rakudo,niner/rakudo,ab5tract/rakudo,ungrim97/rakudo,sergot/rakudo,retupmoca/rakudo,lucasbuchala/rakudo,labster/rakudo,zhuomingliang/rakudo,dwarring/rakudo,jonathanstowe/rakudo,samcv/rakudo,LLFourn/rakudo,sjn/rakudo,nunorc/rakudo,Gnouc/rakudo,skids/rakudo,ugexe/rakudo,labster/rakudo,dankogai/rakudo,ab5tract/rakudo,raydiak/rakudo,zostay/rakudo,dwarring/rakudo,rakudo/rakudo,MasterDuke17/rakudo,nbrown/rakudo,niner/rakudo,tony-o/rakudo,retupmoca/rakudo,tony-o/deb-rakudodaily,salortiz/rakudo,tony-o/deb-rakudodaily,nunorc/rakudo,skids/rakudo,dankogai/rakudo,Gnouc/rakudo,raydiak/rakudo,dwarring/rakudo,MasterDuke17/rakudo,nbrown/rakudo,teodozjan/rakudo,niner/rakudo,ab5tract/rakudo,paultcochrane/rakudo,b2gills/rakudo,sjn/rakudo,softmoth/rakudo,softmoth/rakudo,cognominal/rakudo,cognominal/rakudo,ugexe/rakudo,awwaiid/rakudo,b2gills/rakudo,lucasbuchala/rakudo,MasterDuke17/rakudo,nbrown/rakudo,LLFourn/rakudo,salortiz/rakudo,Gnouc/rakudo,samcv/rakudo,cygx/rakudo,awwaiid/rakudo,labster/rakudo,tony-o/deb-rakudodaily,tony-o/rakudo,ungrim97/rakudo,azawawi/rakudo,skids/rakudo,labster/rakudo,b2gills/rakudo,skids/rakudo,usev6/rakudo,awwaiid/rakudo,nunorc/rakudo,tbrowder/rakudo,salortiz/rakudo,laben/rakudo,lucasbuchala/rakudo,salortiz/rakudo,cygx/rakudo,rakudo/rakudo,Gnouc/rakudo,softmoth/rakudo,cygx/rakudo,teodozjan/rakudo,Leont/rakudo,jonathanstowe/rakudo,tony-o/deb-rakudodaily,Leont/rakudo,paultcochrane/rakudo,labster/rakudo,Leont/rakudo,ungrim97/rakudo,salortiz/rakudo,zostay/rakudo,retupmoca/rakudo,paultcochrane/rakudo,zostay/rakudo,laben/rakudo,samcv/rakudo,nbrown/rakudo,tony-o/rakudo,nunorc/rakudo,MasterDuke17/rakudo,usev6/rakudo,laben/rakudo,azawawi/rakudo,tbrowder/rakudo,paultcochrane/rakudo,nbrown/rakudo,sjn/rakudo,b2gills/rakudo,rakudo/rakudo,nbrown/rakudo,zhuomingliang/rakudo,ugexe/rakudo,sergot/rakudo,tony-o/rakudo,ab5tract/rakudo,awwaiid/rakudo,raydiak/rakudo,tony-o/rakudo,softmoth/rakudo,sjn/rakudo,LLFourn/rakudo,zhuomingliang/rakudo,LLFourn/rakudo,azawawi/rakudo,samcv/rakudo,MasterDuke17/rakudo,cognominal/rakudo,b2gills/rakudo,usev6/rakudo,Gnouc/rakudo,jonathanstowe/rakudo,tony-o/deb-rakudodaily,teodozjan/rakudo,ungrim97/rakudo,awwaiid/rakudo