Support building with gccgo

This is just a proof of concept really.  I'm not super happy about the duplication between {dyn,}binary and the gccgo versions, but trying to avoid it seemed worse.

This builds using the go tool that's built as part of the build image/container already, which obviously isn't going to work on a platform that's not supported by the native go toolchain.  It is possible with a different Dockerfile to build on a not-yet supported platform (one of the reasons for caring about gccgo) -- you need to install gccgo and gccgo-go from our ppa at https://launchpad.net/~docker-team-r/+archive/ubuntu/ppa.  I'm not sure how best to use a different build image on some platforms though.
So comparing this with the original (`hack/make/binary`), revels only one difference, and that is the `-ldflags`, otherwise I could imaging that the original script could be used with the "$BUILDFLAFGS" set to contain `-compiler gccgo -gccgoflags "$GCCGOFLAGS $GCCGOFLAGS_STATIC"`. Has `-ldflags` caused any issues?