Add slightly better GOPATH detection/handling

This also adds a new "AUTO_GOPATH" environment variable that will create an appropriate GOPATH as part of the build process.

Setting up the GOPATH in a sane way automatically is something that has been requested many, many times over, including and especially by packagers (see also https://github.com/Homebrew/homebrew/pull/26488#issuecomment-34573742 for the most recent request that I'm aware of).

Since this isn't something that everyone will universally want (ie, `GOPATH` is a very personal thing, and some people want to have absolute control over that and we respect them for it), this is not the default (especially since our own Dockerfile environment sets this up properly in a sane way).