strings.Title has been deprecated since Go 1.18 because it does not
handle Unicode punctuation properly. Replace all 4 call sites with
cases.Title from golang.org/x/text which is already a dependency.
Use cases.NoLower to preserve the original strings.Title behavior
of only capitalizing the first letter of each word without lowering
the rest.
This changes the CI build to store the git commit and date into package
internal/version instead of package main. Doing this essentially merges our
two ways of tracking the go-ethereum version into a single place, achieving
two objectives:
- Bad block reports, which use version.Info(), will now have the git commit
information even when geth is built in an environment such as
launchpad.net where git access is unavailable.
- For geth builds created by `go build ./cmd/geth` (i.e. not using `go run
build/ci.go install`), git information stored by the go tool is now used
in the p2p node name as well as in `geth version` and `geth
version-check`.