Compile `cmd/pack` from source and update to Go 1.25 (#4425)

**What type of PR is this?**

Fix for compatibility with Go 1.25

**What does this PR do? Why is it needed?**

The `pack` command, which is no longer shipped as a prebuilt binary with
Go 1.25, is now compiled from source together with the `builder` binary.

Conditional logic is avoided by always compiling `pack` from source,
even on Go versions before 1.25. By enabling `go build` caching in
`go_tool_binary`, the overhead compared to building just the `builder`
binary is negligible.

**Which issues(s) does this PR fix?**

ref: https://github.com/golang/go/issues/74080
fixes https://github.com/bazel-contrib/rules_go/issues/4398

**Other notes for review**

---------

Co-authored-by: rhang <rhang@uber.com>
10 files changed