enable linter using golangci-lint across codebase to run a bunch of linters together, we shall enable new linters as we fix more things the codebase. This PR fixes the first stage of this cleanup.
Use fatih/errwrap to fix all the code to use error wrapping with fmt.Errorf()