THRIFT-5650: Implement UUID in Go library

Client: go

This is only the library part of THRIFT-5650. I still have some open
questions for the compiler part so that will be done later.

While I'm here, also made some changes to go CI process:

* Update ubuntu-bionic to use go 1.18 for travis
* Update ubuntu-jammy to use the latest go 1.19.x for travis
* Run both go 1.18 and 1.19 for github actions
* Also run test/go tests for github actions
diff --git a/go.mod b/go.mod
index 2d3d1c6..dc1e4a2 100644
--- a/go.mod
+++ b/go.mod
@@ -2,4 +2,11 @@
 
 go 1.18
 
-require github.com/golang/mock v1.5.0
+require github.com/golang/mock v1.6.0
+
+require (
+	golang.org/x/mod v0.4.2 // indirect
+	golang.org/x/sys v0.0.0-20210510120138-977fb7262007 // indirect
+	golang.org/x/tools v0.1.1 // indirect
+	golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
+)