std::str: Implement CharIterator separately
std::str: Implement CharIterator separately

Let CharIterator be a separate type from CharOffsetIterator (so that
CharIterator can be cloned, for example).

Implement CharOffsetIterator by using the same technique as the method
subslice_offset.

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