Get indentation information directly from pep8

This greatly speeds up the "E12" indentation fixes.
Implement the rest of the indentation fixes
Update tests

We previously could not pass these correctly with the previous
indentation fix implementation.
Handle edge case
Handle badly reported line numbers
Format
Make pylint happy
Narrow the exceptional case
Remove unused class