all: integrate changes made in cmd/go packages

This change integrates changes made to cmd/go packages into the
corresponding x/mod packages.

This is the second step of a bidirectional synchronization. The
previous step was CL 200138, which copied changes made in these
packages back into cmd/go. With this change, the cmd/go and x/mod
packages should be the same except for imports. After this change, we
can vendor x/mod into cmd, then remove the duplicate packages in
cmd/go.

Other important changes:

* Updated requirement on golang.org/x/crypto to latest and added
  golang.org/x/xerrors. crypto is needed for ed25519, which was added
  to std in go1.13. xerrors is needed for unwrapping, which was also
  added in 1.13. The x versions of these are compatible with go1.12.
* Copied internal/lazyregexp from std, since it's used in sumdb.

Updates golang/go#34801

Change-Id: Iafdd0668970f9004e663040535c521241d11a6a8
Reviewed-on: https://go-review.googlesource.com/c/mod/+/200767
Run-TryBot: Jay Conrod <jayconrod@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
9 files changed