All Go closure patch sets

Supercedes the go/x86 pull request, and includes all of the work so far for all targets.
Re-tested on:
  x86_64-linux
  x32-linux
  i686-linux
  x86_64-cygwin
  i686-cygwin
  x86_64-freebsd10 (gcc48, not clang)
  i686-freebsd10 (gcc48, not clang)
  aarch64-linux
  alphaev67-linux
  armv7l-linux-gnueabihf
  sparc-linux
  sparc64-linux