Make gocmd compile even if GOPATH is not defined

This PR makes gocmd compile even if there's no GOPATH defined in the user's environment. The build system will silently create one nested inside the source folder.

I've added a .gitignore file so that generated files do not appear as "untracked" in git status