* Add golint to linters and resolve issues.
I decided to remove constructors for some of the propagation types
because the constructors can be reduced to either using the zero value
or a single, non optional member.
* Enable gofmt and commit fixes
Enabling misspell and goimports in golangci-lint allows a bit of
simplification of tools.go / Makefile.
The linters enabled locally also complained about the markdown in
README.md a little, so I fixed those complaints.
I also enabled auto-fix mode in golangci-lint so that it will just
fix any lint issues it runs across (which is how goimports/misspell)
was being used.
misspell still needs to be included in tools.go unless we decide that
we didn't want it to run on markdown files.
goimports for import rewritting
golangci-lint as the configurable linting swiss army knife.
These tools are recorded in [tools.go](https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module). This records
them as a dependency to make sure we're all using the same tool versions.
To make sure this project's tool's versions don't stomp over versions
from other projects, they are installed in ./.tools, which is
.gitignored.
goimports was run and fixed up a single file:
plugin/httptrace/httptrace.go
I prefer to group local packages below external packages, hence the use
of goimports -local option.
.golangci.yml contains nothing but an incomplete set of defaults ATM.
I expect those to change over time though. ;-)
To use, run:
$ make precommit
Fixes#15