Restore autocorrect

With the introduction of the Commissioner class we lost the auto-correct functionality. I'm restoring it in this PR.

This is still work in progress, but I want to receive feedback of the current state as it is.

I'm planning to:

1. Restore all auto-correct logic we have.
2. Extract the file saving logic from CLI somewhere else.
3. Maybe change the way we test auto correction. Not sure about that.

Please, share your opinions.