Going multi-language!

This adds a Go implementation, and leads the way to more implementations in different languages.