A few minor Go style suggestions.

Mostly minor Go style suggestions and my guesses at comments for exported methods, types etc. and I tried to tighten up a couple of the enums and I also renamed some of the enum values to be CamlCase rather than ALL_CAPS.
Is CamelCase the recommended style? I kind of like the all-caps as we use for other languages. Its easier to differentiate enums from local vars etc.