[Fix #1441] Compare AST for whole buffer in AutocorrectUnlessChangingAST

I didn't expect this to still be a problem... Oh, well.

We were already re-parsing the whole buffer to check for syntax errors. If we check for AST equality instead, we don't need to check the syntax.
We had a local variable (`processed_source`) with the same name as a method in the base class. I didn't like that so I renamed it.