Add Go syntax checker that uses gofmt tool and the go compiler

Two issues with these checkers:

The first problem is that the Go compiler returns the following when running `go build -o /dev/null` in a package foo:

```
go install foo: build output "/dev/null" already exists and is not an object file
```
This issue has been already reported in the Go project:
https://code.google.com/p/go/issues/detail?id=4851

The consequence is that flycheck reports: `Checker definition probably flawed` and `FlyC?`. In small packages with one file flycheck reports errors correct, because its the only file, but when the package has multiple files and some can be compiled and some not, then flycheck does not work because of that nonzero output

Another issue is that this way the second part of the checker (go-build and go-test) does not work on unsaved files only after saving it (like with source-original)

My other go checker https://gist.github.com/ptrv/5373321
does not have these issues