Update our version of pylint to use the latest version and update the
codebase to comply with the majority of the updates.
For now disable the additional checks for `super-with-arguments`,
`useless-object-inheritance`, `raise-missing-from`, `no-else-raise`,
`no-else-break`, `no-else-continue` to be consistent with the existing
codebase.
Split the tests into their own jobs so it is easier to see what test is
failing, also only run pep8 and pylint tests with python 3.6 as it is
uncessary to run with both python versions.