go: fix golint errors and some general cleanup/consolidation.

+ Added comments for exported funcs and fixed some other nits per complaints from golint.
+ Consolidated shorter type definitions into a single file.

R: @tessr @dpup 
I think that's fine in this case, but in general it's likely you end off using at several points through the file.  So while it's not a big deal, I prefer grouping them.  It also avoids splitting up a receiver methods.