Test go with GOPATH set

Go mandates the existence of this variable for Go code, see
http://golang.org/cmd/go/#hdr-GOPATH_environment_variable [golang] moved
Write Go output to temporary file

Writing output of the go compiler to /dev/null is not supported as go
checks for existence of the output and denies overwriting. Added a
helper for creating a temporary filename (without creating the actual
file) and sending output to this file. Flycheck takes care the file is
removed afterwards.
Improve temp file name generation

Rename the symbol to temporary-file-name to adhere to Emacs' naming
conventions, and create the temporary name in a sub directory of the
temporary directory to prevent symlink attacks.

Remove the extra function to generate temporary names.
Document temporary-file-name in the manual
Update changelog and credits
Use test-local process environment

We can just let-bind process-environment for single test cases.
[Fix #259] Merge branch 'gfrey-golang-dev-null-problem'

* gfrey-golang-dev-null-problem:
  Use test-local process environment
  Update changelog and credits
  Document temporary-file-name in the manual
  Improve temp file name generation
  Write Go output to temporary file
  Test go with GOPATH set
Improve error testing

Specify errors as for `flycheck-error-new-at' to get rid of our custom
error creation logic in test-helper, and directly compare the expected
against the real errors using `equal'.

That makes debugging of failed tests a lot easier!
Parse optional column information from go-build [#259]