Adds detailed logging, describing which file/line a log message came from, as well as the name of the function that it was contained within.
Fixes #697 Switched to golangci-lint, fixes issues with buildkite and does some linting fixes to appease the new linters.