std::io::util cleanup + fixes
std::io::util cleanup + fixes

* Fix `LimitReader`'s `Buffer::consume` impl to avoid limit underflow
* Make `MultiWriter` fail fast instead of always running through each
    `Writer`. This may or may not be what we want, but it at least
    doesn't throw any errors encountered in later `Writer`s into oblivion.
* Prevent `IterReader`'s `Reader::read` impl from returning EOF if given
    an empty buffer.

[breaking-change]

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