auto merge of #10478 : TeXitoi/rust/shootout-meteor, r=brson
auto merge of #10478 : TeXitoi/rust/shootout-meteor, r=brson

This implementation of the meteor contest implements:
 - insertion check with bit trick;
 - pregenetation of every feasible placement of the pieces on the
   board;
 - filtering of placement that implies unfeasible board
 - central symetry breaking

related to #2776

pelmers/rust,dwillmer/rust,dwillmer/rust,aneeshusa/rust,aneeshusa/rust,aneeshusa/rust,hauleth/rust,carols10cents/rust,vhbit/rust,GBGamer/rust,mvdnes/rust,bombless/rust,pythonesque/rust,untitaker/rust,emk/rust,AerialX/rust-rt-minimal,graydon/rust,huonw/rand,kimroen/rust,mitsuhiko/rust,mihneadb/rust,quornian/rust,fabricedesre/rust,michaelballantyne/rust-gpu,AerialX/rust-rt-minimal,0x73/rust,pshc/rust,AerialX/rust,SiegeLord/rust,jashank/rust,bombless/rust,TheNeikos/rust,AerialX/rust-rt-minimal,bluss/rand,ebfull/rand,ktossell/rust,SiegeLord/rust,ktossell/rust,nwin/rust,defuz/rust,rprichard/rust,ebfull/rust,richo/rust,mihneadb/rust,ruud-v-a/rust,zaeleus/rust,pshc/rust,defuz/rust,defuz/rust,graydon/rust,mdinger/rust,0x73/rust,avdi/rust,pythonesque/rust,servo/rust,pythonesque/rust,hauleth/rust,nwin/rust,pshc/rust,bhickey/rand,quornian/rust,graydon/rust,emk/rust,nham/rust,jroesch/rust,jbclements/rust,pshc/rust,quornian/rust,erickt/rust,nwin/rust,richo/rust,barosl/rust,nwin/rust,aepsil0n/rust,ruud-v-a/rust,gifnksm/rust,rohitjoshi/rust,aepsil0n/rust,Ryman/rust,dinfuehr/rust,ruud-v-a/rust,jbclements/rust,andars/rust,pshc/rust,emk/rust,fabricedesre/rust,stepancheg/rust-ide-rust,erickt/rust,zubron/rust,avdi/rust,l0kod/rust,GBGamer/rust,michaelballantyne/rust-gpu,ebfull/rust,GBGamer/rust,reem/rust,AerialX/rust,untitaker/rust,zaeleus/rust,stepancheg/rust-ide-rust,aepsil0n/rust,hauleth/rust,mahkoh/rust,robertg/rust,rprichard/rust,ruud-v-a/rust,mahkoh/rust,pczarn/rust,aturon/rust,fabricedesre/rust,KokaKiwi/rust,vhbit/rust,zachwick/rust,servo/rust,nwin/rust,SiegeLord/rust,dinfuehr/rust,jbclements/rust,servo/rust,untitaker/rust,jbclements/rust,l0kod/rust,mvdnes/rust,defuz/rust,rprichard/rust,mihneadb/rust,untitaker/rust,miniupnp/rust,erickt/rust,ruud-v-a/rust,ktossell/rust,KokaKiwi/rust,mitsuhiko/rust,aepsil0n/rust,aepsil0n/rust,bombless/rust,P1start/rust,stepancheg/rust-ide-rust,victorvde/rust,philyoon/rust,SiegeLord/rust,gifnksm/rust,miniupnp/rust,cllns/rust,sae-bom/rust,miniupnp/rust,mitsuhiko/rust,dwillmer/rust,jbclements/rust,aturon/rust,mihneadb/rust,jbclements/rust,barosl/rust,philyoon/rust,carols10cents/rust,pshc/rust,omasanori/rust,victorvde/rust,SiegeLord/rust,mahkoh/rust,seanrivera/rust,mihneadb/rust,michaelballantyne/rust-gpu,miniupnp/rust,barosl/rust,victorvde/rust,GBGamer/rust,P1start/rust,carols10cents/rust,dwillmer/rust,michaelballantyne/rust-gpu,pelmers/rust,richo/rust,pythonesque/rust,avdi/rust,aidancully/rust,jashank/rust,robertg/rust,kwantam/rust,robertg/rust,nwin/rust,richo/rust,waynenilsen/rand,miniupnp/rust,cllns/rust,dinfuehr/rust,0x73/rust,omasanori/rust,jroesch/rust,fabricedesre/rust,zaeleus/rust,victorvde/rust,zubron/rust,krzysz00/rust,P1start/rust,richo/rust,P1start/rust,emk/rust,robertg/rust,avdi/rust,TheNeikos/rust,0x73/rust,jashank/rust,GrahamDennis/rand,andars/rust,bombless/rust-docs-chinese,l0kod/rust,untitaker/rust,dwillmer/rust,aidancully/rust,pelmers/rust,krzysz00/rust,rohitjoshi/rust,AerialX/rust,aturon/rust,fabricedesre/rust,Ryman/rust,sae-bom/rust,zubron/rust,rohitjoshi/rust,hauleth/rust,XMPPwocky/rust,XMPPwocky/rust,kimroen/rust,pshc/rust,rohitjoshi/rust,jroesch/rust,pczarn/rust,kwantam/rust,pshc/rust,kwantam/rust,kwantam/rust,ejjeong/rust,ejjeong/rust,victorvde/rust,shepmaster/rand,rprichard/rust,dwillmer/rust,barosl/rust,dinfuehr/rust,TheNeikos/rust,emk/rust,zaeleus/rust,TheNeikos/rust,jbclements/rust,KokaKiwi/rust,hauleth/rust,stepancheg/rust-ide-rust,quornian/rust,pelmers/rust,defuz/rust,l0kod/rust,reem/rust,robertg/rust,TheNeikos/rust,michaelballantyne/rust-gpu,reem/rust,bombless/rust,ebfull/rust,AerialX/rust,KokaKiwi/rust,dwillmer/rust,erickt/rust,TheNeikos/rust,seanrivera/rust,GBGamer/rust,vhbit/rust,kwantam/rust,GBGamer/rust,aturon/rust,krzysz00/rust,philyoon/rust,omasanori/rust,pczarn/rust,jashank/rust,aneeshusa/rust,gifnksm/rust,P1start/rust,0x73/rust,zaeleus/rust,nham/rust,defuz/rust,mdinger/rust,zubron/rust,gifnksm/rust,pczarn/rust,pczarn/rust,zachwick/rust,quornian/rust,mvdnes/rust,bombless/rust,nham/rust,P1start/rust,pythonesque/rust,aturon/rust,sae-bom/rust,Ryman/rust,vhbit/rust,jroesch/rust,AerialX/rust,AerialX/rust-rt-minimal,dinfuehr/rust,aidancully/rust,reem/rust,jashank/rust,seanrivera/rust,fabricedesre/rust,avdi/rust,pelmers/rust,andars/rust,quornian/rust,KokaKiwi/rust,gifnksm/rust,mahkoh/rust,mitsuhiko/rust,jashank/rust,pczarn/rust,ktossell/rust,rohitjoshi/rust,jashank/rust,krzysz00/rust,stepancheg/rust-ide-rust,Ryman/rust,kimroen/rust,achanda/rand,zaeleus/rust,nham/rust,ebfull/rust,kimroen/rust,P1start/rust,pythonesque/rust,jroesch/rust,victorvde/rust,cllns/rust,aepsil0n/rust,rprichard/rust,mdinger/rust,jbclements/rust,aneeshusa/rust,zubron/rust,philyoon/rust,ejjeong/rust,l0kod/rust,zubron/rust,Ryman/rust,stepancheg/rust-ide-rust,servo/rust,philyoon/rust,GBGamer/rust,erickt/rust,mdinger/rust,graydon/rust,miniupnp/rust,seanrivera/rust,Ryman/rust,andars/rust,nwin/rust,SiegeLord/rust,michaelballantyne/rust-gpu,0x73/rust,kwantam/rust,ruud-v-a/rust,aidancully/rust,ktossell/rust,mahkoh/rust,mvdnes/rust,servo/rust,reem/rust,AerialX/rust-rt-minimal,AerialX/rust-rt-minimal,carols10cents/rust,philyoon/rust,stepancheg/rust-ide-rust,cllns/rust,sae-bom/rust,XMPPwocky/rust,aidancully/rust,XMPPwocky/rust,cllns/rust,untitaker/rust,mvdnes/rust,emk/rust,ebfull/rust,zachwick/rust,ejjeong/rust,erickt/rust,gifnksm/rust,l0kod/rust,mihneadb/rust,rprichard/rust,aneeshusa/rust,mvdnes/rust,kimroen/rust,barosl/rust,KokaKiwi/rust,omasanori/rust,seanrivera/rust,fabricedesre/rust,pczarn/rust,krzysz00/rust,aidancully/rust,mitsuhiko/rust,l0kod/rust,servo/rust,andars/rust,nham/rust,avdi/rust,XMPPwocky/rust,aturon/rust,carols10cents/rust,ebfull/rust,omasanori/rust,carols10cents/rust,quornian/rust,hauleth/rust,l0kod/rust,mitsuhiko/rust,robertg/rust,cllns/rust,seanrivera/rust,sae-bom/rust,zubron/rust,miniupnp/rust,jashank/rust,jroesch/rust,ktossell/rust,pelmers/rust,reem/rust,kimroen/rust,pythonesque/rust,nham/rust,XMPPwocky/rust,aturon/rust,zachwick/rust,retep998/rand,jroesch/rust,barosl/rust,mitsuhiko/rust,jroesch/rust,SiegeLord/rust,michaelballantyne/rust-gpu,krzysz00/rust,rohitjoshi/rust,ejjeong/rust,dinfuehr/rust,emk/rust,erickt/rust,vhbit/rust,vhbit/rust,richo/rust,zubron/rust,jbclements/rust,ejjeong/rust,sae-bom/rust,zachwick/rust,AerialX/rust,mdinger/rust,graydon/rust,zachwick/rust,vhbit/rust,GBGamer/rust,arthurprs/rand,ktossell/rust,mahkoh/rust,barosl/rust,nwin/rust,dwillmer/rust,vhbit/rust,graydon/rust,bombless/rust,kimroen/rust,miniupnp/rust,Ryman/rust,mdinger/rust,0x73/rust,nham/rust,servo/rust,andars/rust,omasanori/rust