errors: optimize *joinError's Error method for less allocation and faster execution
Handle the case of one error at the beginning.
Use unsafe.String to avoid memory allocation when converting byte slice to string.
Change-Id: Ib23576f72b1d87489e6f17762be483f62ca4998a
GitHub-Last-Rev:
ed8003bfbcae8efd42e54895db0554c139b9d3a7
GitHub-Pull-Request: golang/go#60026
Reviewed-on: https://go-review.googlesource.com/c/go/+/493237
Reviewed-by: Damien Neil <dneil@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Ian Lance Taylor <iant@golang.org>