fix all the golint errors I care to fix, add a bunch of doc.