Rewrite of the Guestbook example in Go

This is a Go version of the Guestbook example. The readme has been ported over from the existing one.

#1271
What is the usefulness of separating this into two functions? It seems like it would be simpler as a simple loop without the indirection:

environment := make(map[string]string)
for _, item := range os.Environ() {
  splits := strings.Split(item, "=")
  key := splits[0]
  val := strings.Join(splits[1:], "=")
  items[key] = val
}