golang: Ensure to case-encode URLs for retrieving package info
When a go package name contains uppercase characters in it, associated goproxy URLs need to be case-encoded by replacing every uppercase letter with an exclamation mark followed by the corresponding lower-case letter.
This fixes the loading of such packages.
See https://go.dev/ref/mod#goproxy-protocol.
Migrated from D8496 (view on Phabricator)