Add go vet to build pipeline

Checks now includes go vet and golint. `test` is now a dependency of `check`
so that checks are always run. Also some documentation of the Makefile.

Go vet catches some errors that are not detected by lint or compile. There can
be false positives, but until this comes up the build will fail if vet finds
any problems.