mime: Remove an allocation in word decoding.
mime: Remove an allocation in word decoding.

This fixes a TODO in (*WordDecoder).Decode by replacing a call to strings.Split with
simple prefix/suffix checking and some custom slicing.

Benchmark results:

benchmark                    old ns/op     new ns/op     delta
BenchmarkQEncodeWord-8       740           693           -6.35%
BenchmarkQDecodeWord-8       1291          727           -43.69%
BenchmarkQDecodeHeader-8     1194          767           -35.76%

benchmark                    old allocs     new allocs     delta
BenchmarkQEncodeWord-8       1              1              +0.00%
BenchmarkQDecodeWord-8       3              2              -33.33%
BenchmarkQDecodeHeader-8     3              2              -33.33%

benchmark                    old bytes     new bytes     delta
BenchmarkQEncodeWord-8       48            48            +0.00%
BenchmarkQDecodeWord-8       128           48            -62.50%
BenchmarkQDecodeHeader-8     128           48            -62.50%

Change-Id: I2d6844c75ec2e2b79be2e49b7fc4ca320b7e84e5
Reviewed-on: https://go-review.googlesource.com/14432
Reviewed-by: Brad Fitzpatrick <ae9783c0b0efc69cd85ab025ddd17aa44cdc4aa5@golang.org>
Run-TryBot: Brad Fitzpatrick <ae9783c0b0efc69cd85ab025ddd17aa44cdc4aa5@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>

ganboing/go-esx,kim-racktop/go,miolini/go,CAFxX/go,akutz/go,fjballest/golang,malvira/go,Endika/go,Cofyc/go,sndnvaps/go,miolini/go,goodlang/good,fjballest/golang,momchil-velikov/go,mwhudson/go,momchil-velikov/go,fjballest/golang,Jordanzuo/go,theif519/go,deft-code/go,sndnvaps/go,ImJasonH/go,codestation/go,Cofyc/go,Cofyc/go,sndnvaps/go,vanloswang/go,binarycrusader/go,linux-on-ibm-z/go,ImJasonH/go,vsekhar/elastic-go,codestation/go,odeke-em/go,goodlang/good,momchil-velikov/go,nawawi/go,goodlang/good,gdey/go,Jordanzuo/go,codestation/go,linux-on-ibm-z/go,goodlang/good,Cofyc/go,suncycheng/go,theif519/go,theif519/go,ImJasonH/go,gdey/go,Endika/go,suncycheng/go,golang/go,miolini/go,cloudflare/go,kim-racktop/go,cloudflare/go,vanloswang/go,josharian/go,golang/go,miolini/go,gdey/go,Jordanzuo/go,linux-on-ibm-z/go,odeke-em/go,momchil-velikov/go,ImJasonH/go,polyverse-security/go,roth1002/go,ganboing/go-esx,josharian/go,CAFxX/go,rachtsingh/gogojuice,josharian/go,momchil-velikov/go,Cofyc/go,goodlang/good,derekmarcotte/go,derekmarcotte/go,codestation/go,dterei/go,akutz/go,ganboing/go-esx,golang/go,malvira/go,vsekhar/elastic-go,akutz/go,roth1002/go,Endika/go,roth1002/go,cyberroadie/go,josharian/go,nawawi/go,miolini/go,Samurais/go,odeke-em/go,codestation/go,kim-racktop/go,Samurais/go,dterei/go,jacobsa/go,codestation/go,momchil-velikov/go,gdey/go,miolini/go,Samurais/go,mwhudson/go,jacobsa/go,polyverse-security/go,Endika/go,ImJasonH/go,mwhudson/go,4ad/go,malvira/go,Endika/go,golang/go,4ad/go,Cofyc/go,Jordanzuo/go,vsekhar/elastic-go,CAFxX/go,suncycheng/go,fjballest/golang,jacobsa/go,goodlang/good,malvira/go,ganboing/go-esx,CAFxX/go,linux-on-ibm-z/go,gdey/go,Endika/go,rachtsingh/gogojuice,linux-on-ibm-z/go,polyverse-security/go,mwhudson/go,nawawi/go,Samurais/go,deft-code/go,akutz/go,rachtsingh/gogojuice,deft-code/go,dterei/go,binarycrusader/go,dterei/go,Jordanzuo/go,christopher-henderson/Go,cloudflare/go,vsekhar/elastic-go,nawawi/go,4ad/go,binarycrusader/go,momchil-velikov/go,fjballest/golang,roth1002/go,cyberroadie/go,malvira/go,miolini/go,nawawi/go,nawawi/go,cyberroadie/go,cloudflare/go,vsekhar/elastic-go,josharian/go,linux-on-ibm-z/go,vsekhar/elastic-go,jacobsa/go,cyberroadie/go,jacobsa/go,polyverse-security/go,cyberroadie/go,cloudflare/go,derekmarcotte/go,akutz/go,odeke-em/go,dterei/go,kim-racktop/go,momchil-velikov/go,mwhudson/go,cloudflare/go,josharian/go,roth1002/go,ImJasonH/go,CAFxX/go,golang/go,odeke-em/go,deft-code/go,4ad/go,polyverse-security/go,cyberroadie/go,golang/go,theif519/go,vanloswang/go,theif519/go,deft-code/go,sndnvaps/go,polyverse-security/go,vanloswang/go,ImJasonH/go,roth1002/go,4ad/go,theif519/go,vsekhar/elastic-go,Samurais/go,mwhudson/go,CAFxX/go,dterei/go,mwhudson/go,Samurais/go,ganboing/go-esx,sndnvaps/go,codestation/go,rachtsingh/gogojuice,fjballest/golang,codestation/go,sndnvaps/go,cyberroadie/go,cloudflare/go,vanloswang/go,derekmarcotte/go,goodlang/good,ganboing/go-esx,kim-racktop/go,Samurais/go,vanloswang/go,fjballest/golang,suncycheng/go,linux-on-ibm-z/go,ganboing/go-esx,cyberroadie/go,nawawi/go,Endika/go,roth1002/go,jacobsa/go,malvira/go,akutz/go,fjballest/golang,binarycrusader/go,Cofyc/go,derekmarcotte/go,kim-racktop/go,cloudflare/go,goodlang/good,dterei/go,akutz/go,josharian/go,theif519/go,golang/go,rachtsingh/gogojuice,odeke-em/go,jacobsa/go,suncycheng/go,polyverse-security/go,akutz/go,theif519/go,roth1002/go,sndnvaps/go,malvira/go,kim-racktop/go,golang/go,Endika/go,4ad/go,deft-code/go,rachtsingh/gogojuice,rachtsingh/gogojuice,suncycheng/go,polyverse-security/go,derekmarcotte/go,linux-on-ibm-z/go,malvira/go,vanloswang/go,Samurais/go,4ad/go,sndnvaps/go,Jordanzuo/go,CAFxX/go,odeke-em/go,derekmarcotte/go,kim-racktop/go,dterei/go,jacobsa/go,binarycrusader/go,ImJasonH/go,derekmarcotte/go,gdey/go,gdey/go,Cofyc/go,suncycheng/go,ganboing/go-esx,binarycrusader/go,binarycrusader/go,odeke-em/go,josharian/go,rachtsingh/gogojuice,deft-code/go,deft-code/go,CAFxX/go,mwhudson/go,miolini/go,4ad/go,gdey/go,nawawi/go,vsekhar/elastic-go,binarycrusader/go,suncycheng/go,Jordanzuo/go,vanloswang/go,Jordanzuo/go