migrate to go modules from vndr
Context
Go modules is the standard way to manage dependencies in go https://docs.gitlab.com/ee/development/go_guide/#modules
Summary of Changes
include commit from upstream "replace rsc.io/letsencrypt in favour of golang.org/x/crypto" this upstream commit make the switch more convenient
go.mod and go.sum files added, these files are used by the module system to mange dependencies
The gitlab-ci.yml
file is modified to take advantage of caching and to remove now unneeded GOPATH hacking
the vendor/
directory is removed, as it recommend from the GitLab Go Guild linked above
The Makefile
exports environment variables which ensure that gomodules is always used in the build process. This ensures that GNC builds complete successfully
Discussion
While the GNC builds succeed it's possible that some of the changes made in gitlab-org/build/CNG!385 (merged) are no longer strictly needed.