Fix --pretty normal, reorganize some code in driver.rs
Fix --pretty normal, reorganize some code in driver.rs

There is now only one path doing crate expanding and typechecking,
which should make it less likely for the pretty-printing code to be
broken by changes to the compilation pipeline.

Closes #1536

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