Remove FromIterator impl for ~[T]
Remove FromIterator impl for ~[T]

As part of the shift from ~[T] to Vec<T>, recently ~[T] was made
non-growable. However, the FromIterator implementation for ~[T] was left
intact (albeit implemented inefficiently), which basically provided a
loophole to grow a ~[T] despite its non-growable nature. This is a
problem, both for performance reasons and because it encourages APIs to
continue returning ~[T] when they should return Vec<T>. Removing
FromIterator forces these APIs to adopt the correct type.

Furthermore, during today's weekly meeting it was decided that we should
remove all instances of ~[T] from the standard libraries in favor of
Vec<T>. Removing the FromIterator impl makes sense to do as a result.

This commit only includes the removal of the FromIterator impl. The
subsequent commits involve handling all of the breakage that results,
including changing APIs to use Vec<T> instead of ~[T]. The precise API
changes are documented in the subsequent commit messages, but each
commit is not individually marked as a breaking change.

Finally, a new trait FromVec is introduced that provides a mechanism to
convert Vec<T> back into ~[T] if truly necessary. It is a bit awkward to
use by design, and is anticipated that it will be more useful in a
post-DST world to convert to an arbitrary Foo<[T]> smart pointer.

[breaking-change]

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