Fixes to pass `golint`

This PR makes primarily vanity changes (e.g. adding comments, changing error messages, fixing variable names) and a few structural changes (e.g. dropping `else` blocks from early return `if` statements) in order that the repo passes [golint](http://github.com/golang/lint).