vec: Add .shift_opt() -> Option<T>
vec: Add .shift_opt() -> Option<T>

Add a function to safely retrieve the first element of a ~[T], as
Option<T>. Implement shift() using shift_opt().

Add tests for both .shift() and .shift_opt()

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