runtime: don't allocate to build strings of length 1
runtime: don't allocate to build strings of length 1

Use staticbytes instead.
Instrumenting make.bash shows approx 0.5%
of all slicebytetostrings have a buffer of length 1.

name                     old time/op  new time/op  delta
SliceByteToString/1-8    14.1ns ± 1%   4.1ns ± 1%  -71.13%  (p=0.000 n=17+20)
SliceByteToString/2-8    15.5ns ± 2%  15.5ns ± 1%     ~     (p=0.061 n=20+18)
SliceByteToString/4-8    14.9ns ± 1%  15.0ns ± 2%   +1.25%  (p=0.000 n=20+20)
SliceByteToString/8-8    17.1ns ± 1%  17.5ns ± 1%   +2.16%  (p=0.000 n=19+19)
SliceByteToString/16-8   23.6ns ± 1%  23.9ns ± 1%   +1.41%  (p=0.000 n=20+18)
SliceByteToString/32-8   26.0ns ± 1%  25.8ns ± 0%   -1.05%  (p=0.000 n=19+16)
SliceByteToString/64-8   30.0ns ± 0%  30.2ns ± 0%   +0.56%  (p=0.000 n=16+18)
SliceByteToString/128-8  38.9ns ± 0%  39.0ns ± 0%   +0.23%  (p=0.019 n=19+15)

Fixes #24172

Change-Id: I3dfa14eefbf9fb4387114e20c9cb40e186abe962
Reviewed-on: https://go-review.googlesource.com/97717
Run-TryBot: Josh Bleecher Snyder <cdc248cc4d32e4fbfe04e45228163bcecd48a0b9@gmail.com>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Keith Randall <8c99c3a9284e493be632950b84cd789d08ed3e9d@golang.org>

CAFxX/go,Cofyc/go,cloudflare/go,codestation/go,golang/go,golang/go,golang/go,CAFxX/go,CAFxX/go,cloudflare/go,akutz/go,codestation/go,nawawi/go,akutz/go,josharian/go,akutz/go,CAFxX/go,Cofyc/go,Cofyc/go,josharian/go,codestation/go,cloudflare/go,josharian/go,cloudflare/go,CAFxX/go,nawawi/go,nawawi/go,golang/go,josharian/go,CAFxX/go,golang/go,Cofyc/go,nawawi/go,Cofyc/go,cloudflare/go,cloudflare/go,golang/go,akutz/go,akutz/go,josharian/go,josharian/go,akutz/go,nawawi/go,akutz/go,josharian/go,Cofyc/go,nawawi/go,codestation/go,nawawi/go,cloudflare/go,codestation/go,CAFxX/go,golang/go,nawawi/go,CAFxX/go,akutz/go,codestation/go,Cofyc/go,golang/go,josharian/go,Cofyc/go,codestation/go,codestation/go,cloudflare/go