compiletest: Run tests in their own thread to avoid blocking the scheduler
compiletest: Run tests in their own thread to avoid blocking the scheduler

The calls to waitpid are interacting badly with the message passing that goes
on between schedulers and causing us to have very little parallelism in
the test suite. I don't fully understand the sequence of events that causes
the problem here but clearly blocking on waitpid is something that a
well-behaved task should not be doing.

Unfortunately this adds quite a bit of overhead to each test: one thread, two
tasks, three stacks, so there's a tradeoff. The time to execute run-pass on
my 4-core machine goes from ~750s to ~300s.

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