mime/multipart: test for overreading on a stream
mime/multipart: test for overreading on a stream

Some multipart data arrives in a stream, where subsequent parts may not
be ready yet. Read should return a complete part as soon as
possible.

Fixes #15431

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

Cofyc/go,derekmarcotte/go,josharian/go,vsekhar/elastic-go,vsekhar/elastic-go,linux-on-ibm-z/go,josharian/go,goodlang/good,ImJasonH/go,suncycheng/go,cloudflare/go,codestation/go,cloudflare/go,codestation/go,CAFxX/go,golang/go,suncycheng/go,akutz/go,akutz/go,ImJasonH/go,codestation/go,CAFxX/go,nawawi/go,polyverse-security/go,polyverse-security/go,suncycheng/go,CAFxX/go,codestation/go,Cofyc/go,akutz/go,akutz/go,Cofyc/go,codestation/go,christopher-henderson/Go,codestation/go,golang/go,cloudflare/go,polyverse-security/go,linux-on-ibm-z/go,nawawi/go,ImJasonH/go,vsekhar/elastic-go,akutz/go,vsekhar/elastic-go,linux-on-ibm-z/go,josharian/go,codestation/go,CAFxX/go,goodlang/good,cloudflare/go,vsekhar/elastic-go,nawawi/go,akutz/go,linux-on-ibm-z/go,codestation/go,vsekhar/elastic-go,derekmarcotte/go,suncycheng/go,derekmarcotte/go,josharian/go,polyverse-security/go,nawawi/go,suncycheng/go,vsekhar/elastic-go,CAFxX/go,golang/go,CAFxX/go,goodlang/good,golang/go,ImJasonH/go,Cofyc/go,derekmarcotte/go,polyverse-security/go,suncycheng/go,cloudflare/go,nawawi/go,akutz/go,josharian/go,goodlang/good,CAFxX/go,golang/go,goodlang/good,Cofyc/go,nawawi/go,goodlang/good,linux-on-ibm-z/go,linux-on-ibm-z/go,cloudflare/go,nawawi/go,linux-on-ibm-z/go,akutz/go,suncycheng/go,cloudflare/go,ImJasonH/go,golang/go,suncycheng/go,golang/go,cloudflare/go,derekmarcotte/go,Cofyc/go,linux-on-ibm-z/go,ImJasonH/go,josharian/go,goodlang/good,nawawi/go,derekmarcotte/go,Cofyc/go,derekmarcotte/go,ImJasonH/go,josharian/go,polyverse-security/go,polyverse-security/go,CAFxX/go,ImJasonH/go,golang/go,Cofyc/go,vsekhar/elastic-go,derekmarcotte/go,josharian/go,goodlang/good,polyverse-security/go