fix misspellings; fix code that was not gofmt'd - plus take advantage of gofmt -s too; couple of unreachable golint reported fixes; reference go report card results and tests
Finding and running build scripts remains in Go
(tools/run_all_build.go and supporting libs), but the build scripts
themselves are in python now. This is because Go doesn't have much
support for copying files and directories around, which is kind of the
primary focus of build and packaging scripts.
Towards issue 677
The way I was forcing GOROOT wound up clearing the execution environment
of subprocesses when the caller intended to simply re-use the current
execution environment. This path correctly adds GOROOT in all cases.
Apparently, Travis runs a Go binary that was built with GOROOT=/usr/local/go,
but sets GOROOT to some other path in its execution environment. Tolerate this
by _always_ grabbing the current binary's GOROOT and setting it in the
execution environment used by subprocesses.
This patch introduces tools/run_all_build.go, a tool that looks for
files called build.go in our source tree and executes them using
'go run'. Currently, they're run in serial.
Also, some node projects are tweaked to make it clear that 'go run build.go'
is the supported mechanism for installing deps and building code.