Intern substs before storing them in the tcx.
Intern substs before storing them in the tcx.

This cuts memory use dramatically from the previous commit, and reduces
use overall. E.g. the memory usage of `rustc -O librustc/lib.rs` seems
to drop 100MB from 1.98GB to 1.88GB (on one run anyway).

philyoon/rust,carols10cents/rust,rprichard/rust,sae-bom/rust,philyoon/rust,jashank/rust,cllns/rust,GBGamer/rust,aidancully/rust,nwin/rust,graydon/rust,hauleth/rust,zubron/rust,mahkoh/rust,hauleth/rust,zachwick/rust,dinfuehr/rust,dwillmer/rust,seanrivera/rust,andars/rust,jashank/rust,zaeleus/rust,gifnksm/rust,richo/rust,kimroen/rust,ejjeong/rust,l0kod/rust,pshc/rust,ktossell/rust,richo/rust,AerialX/rust,sae-bom/rust,robertg/rust,ebfull/rust,jashank/rust,miniupnp/rust,gifnksm/rust,zubron/rust,bombless/rust,KokaKiwi/rust,robertg/rust,ktossell/rust,aepsil0n/rust,ruud-v-a/rust,kimroen/rust,andars/rust,seanrivera/rust,AerialX/rust,untitaker/rust,kwantam/rust,omasanori/rust,l0kod/rust,dwillmer/rust,mihneadb/rust,ktossell/rust,victorvde/rust,defuz/rust,kimroen/rust,l0kod/rust,zachwick/rust,mahkoh/rust,philyoon/rust,ktossell/rust,kimroen/rust,avdi/rust,vhbit/rust,robertg/rust,GBGamer/rust,miniupnp/rust,cllns/rust,pelmers/rust,untitaker/rust,avdi/rust,mdinger/rust,reem/rust,sae-bom/rust,pelmers/rust,untitaker/rust,gifnksm/rust,nwin/rust,vhbit/rust,miniupnp/rust,zubron/rust,bombless/rust,reem/rust,krzysz00/rust,jroesch/rust,kwantam/rust,AerialX/rust,mvdnes/rust,hauleth/rust,aneeshusa/rust,untitaker/rust,rprichard/rust,krzysz00/rust,dwillmer/rust,KokaKiwi/rust,pshc/rust,zaeleus/rust,defuz/rust,graydon/rust,nwin/rust,untitaker/rust,AerialX/rust,ebfull/rust,richo/rust,mihneadb/rust,ebfull/rust,aepsil0n/rust,seanrivera/rust,ktossell/rust,defuz/rust,zaeleus/rust,miniupnp/rust,mdinger/rust,hauleth/rust,victorvde/rust,TheNeikos/rust,pshc/rust,XMPPwocky/rust,andars/rust,mvdnes/rust,zubron/rust,jashank/rust,bombless/rust,mihneadb/rust,TheNeikos/rust,mdinger/rust,jashank/rust,victorvde/rust,l0kod/rust,reem/rust,cllns/rust,graydon/rust,jroesch/rust,ebfull/rust,dwillmer/rust,aidancully/rust,l0kod/rust,AerialX/rust-rt-minimal,kwantam/rust,rohitjoshi/rust,philyoon/rust,aneeshusa/rust,miniupnp/rust,krzysz00/rust,aepsil0n/rust,krzysz00/rust,zachwick/rust,mahkoh/rust,AerialX/rust-rt-minimal,dinfuehr/rust,miniupnp/rust,pelmers/rust,XMPPwocky/rust,zubron/rust,cllns/rust,seanrivera/rust,AerialX/rust-rt-minimal,vhbit/rust,krzysz00/rust,jroesch/rust,zaeleus/rust,rprichard/rust,mihneadb/rust,kwantam/rust,l0kod/rust,gifnksm/rust,dinfuehr/rust,hauleth/rust,omasanori/rust,XMPPwocky/rust,aidancully/rust,GBGamer/rust,defuz/rust,aepsil0n/rust,victorvde/rust,KokaKiwi/rust,mvdnes/rust,dwillmer/rust,vhbit/rust,mvdnes/rust,nwin/rust,ruud-v-a/rust,gifnksm/rust,dwillmer/rust,AerialX/rust-rt-minimal,richo/rust,nwin/rust,zaeleus/rust,mahkoh/rust,ejjeong/rust,dwillmer/rust,kimroen/rust,KokaKiwi/rust,ruud-v-a/rust,gifnksm/rust,nwin/rust,pelmers/rust,graydon/rust,nwin/rust,rohitjoshi/rust,philyoon/rust,seanrivera/rust,rprichard/rust,jroesch/rust,ejjeong/rust,ktossell/rust,miniupnp/rust,mvdnes/rust,rprichard/rust,omasanori/rust,jashank/rust,carols10cents/rust,jashank/rust,victorvde/rust,aidancully/rust,omasanori/rust,andars/rust,avdi/rust,KokaKiwi/rust,AerialX/rust-rt-minimal,avdi/rust,pshc/rust,nwin/rust,rohitjoshi/rust,dinfuehr/rust,robertg/rust,GBGamer/rust,aidancully/rust,GBGamer/rust,kimroen/rust,carols10cents/rust,ejjeong/rust,rohitjoshi/rust,reem/rust,omasanori/rust,TheNeikos/rust,AerialX/rust-rt-minimal,mdinger/rust,bombless/rust-docs-chinese,richo/rust,carols10cents/rust,AerialX/rust,kimroen/rust,krzysz00/rust,rohitjoshi/rust,mihneadb/rust,defuz/rust,zachwick/rust,seanrivera/rust,zubron/rust,carols10cents/rust,pshc/rust,hauleth/rust,XMPPwocky/rust,aneeshusa/rust,jroesch/rust,ebfull/rust,ruud-v-a/rust,rprichard/rust,ruud-v-a/rust,ktossell/rust,dwillmer/rust,jroesch/rust,bombless/rust,untitaker/rust,pelmers/rust,robertg/rust,sae-bom/rust,reem/rust,philyoon/rust,reem/rust,aidancully/rust,AerialX/rust,dinfuehr/rust,graydon/rust,cllns/rust,graydon/rust,andars/rust,ebfull/rust,dinfuehr/rust,mihneadb/rust,aepsil0n/rust,pshc/rust,defuz/rust,ejjeong/rust,kwantam/rust,zachwick/rust,l0kod/rust,mdinger/rust,sae-bom/rust,aneeshusa/rust,andars/rust,vhbit/rust,jroesch/rust,jroesch/rust,mdinger/rust,zubron/rust,XMPPwocky/rust,vhbit/rust,sae-bom/rust,jashank/rust,pelmers/rust,TheNeikos/rust,ruud-v-a/rust,carols10cents/rust,TheNeikos/rust,bombless/rust,robertg/rust,omasanori/rust,bombless/rust,richo/rust,avdi/rust,mvdnes/rust,avdi/rust,vhbit/rust,aepsil0n/rust,victorvde/rust,GBGamer/rust,cllns/rust,TheNeikos/rust,GBGamer/rust,kwantam/rust,GBGamer/rust,aneeshusa/rust,zachwick/rust,rohitjoshi/rust,l0kod/rust,zubron/rust,mahkoh/rust,vhbit/rust,KokaKiwi/rust,aneeshusa/rust,XMPPwocky/rust,mahkoh/rust,pshc/rust,miniupnp/rust,zaeleus/rust,ejjeong/rust,pshc/rust