Document public KUBE_* environment variables and export them

Add a section for environment variables in config-go.sh. Document the
three public environment variables defined by this script. Make sure the
variables get exported so that they can be used by commands spawned by a
shell that sourced the config script.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Use `cd` and `pwd` in a subshell to define ${KUBE_REPO_ROOT}

The old method (using `readlink`) was convoluted and not portable. We
can achieve the same result using only bash builtins.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Do not leak undocumented variables from config-go.sh

Run the snippet that creates the output/go/ tree in a subshell.

Tested:
- Built it with hack/build-go.sh
- Ran release/build-release.sh successfully.
- Moved away the git tree to confirm no regression in PR #1073.
- Sourced hack/config-go.sh in the shell, confirmed no variable or
  function other than the expected ones leaked into the environment.
- Used `git grep` to confirm the no longer exported variables were
  not in use by any script other than config-go.sh.

Signed-off-by: Filipe Brandenburger <filbranden@google.com>
Merge pull request #1076 from filbranden/config_environment1

More config-go.sh cleanup