These patches add a go-build-system, a package for Syncthing, and Syncthing's dependencies. The patch for Syncthing and its dependencies is squashed to make review more convenient (there are dozens of packages). I can split this up into individual commits before pushing. There are a handful of XXX comments in (guix build go-build-system). Advice welcome :) Also, this build system does not attempt cross-compilation, earning another XXX in (guix build-system go). I've skipped a few package test suites in (gnu packages syncthing). However, everything works for me, and Syncthing passes its test suite, at least.