Fix or disable our outstanding pylint issues, and enable pylint in the CI
Description
This MR does a bunch of code cleanup, mainly removing unused imports and tidying up exception handling. This cleanup (along with disabling some of the more opinion-heavy rules) gets our codebase passing pylint properly again, which means we can enable it in CI to hopefully improve the rate at which we catch mistakes like typos which have otherwise gone unnoticed (see !565 (merged)).
Validation
Run tox -e lint to see the output from the linters. Deploy a test BuildGrid and run some builds.
Issues addressed
Addresses #303 (closed)