ci: start integrating go 1.18 into the CI pipelines
Also move to matrix-based test to make it easier to add/remove go versions
Note: this doesn't bump the go version (we can't do that yet) but testing on newer versions is a requirement for the update process.