Add support for code quality metrics.

Currently just pep8 and pylint, though it can be extended to other
checkers.
Change existing tests to reflect refactoring work.
Arg parsing tests
Integration tests
Add violations tests; update test requirements
Fix up tests