encoding/pem: make TestFuzz testing/quick safe
encoding/pem: make TestFuzz testing/quick safe

This adapts pem.TestFuzz to sanitize the generated Block fields,
because the encoder and wireformat do not differentiate between nil
and empty slices and maps, while reflect.DeepEqual rightfully does.
In the commit mentioned below, we adapt quick.Value in
testing/quick to generate these value states, which had heretofore
been impossible with the standard library fuzz test facility.

This commit is a piecemeal extraction from ...

  https://go-review.googlesource.com/#/c/16470

..., which rsc requested to be separated from the nil slice and map
generations.

Change-Id: Iec751a2b0082af6e672a09dc9b7f4b4fb309e8a8
Reviewed-on: https://go-review.googlesource.com/17499
Reviewed-by: Russ Cox <5ad239cb8a44f659eaaee0aa1ea5b94947abe557@golang.org>

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