[ci] Add shadowed variable detection
Inspired by the discovery/fix in !3268 (merged) this branch adds a new shadowed variable check to the lint suite.
Specifically the variable name err
is exempted as this is a common Go-ism. All other changes which introduce a shadowed variable will now fail lint.