This extends the testing currently done in CircleCI:
* run CI on macOS in addition to Linux and Windows
* testing with multiple Go versions (1.12 through 1.16), not just Go
1.12 like CircleCI
* checks that the code is properly gofmt'ed
* checks proper module vendoring