[Fix #1118] Never write invalid ruby to file

Handle invalid syntax the same way as clobbering, i.e., run
autocorrect in one cop at a time and reparse between each.
Add checking of right bracket in IndentArray and IndentHash

Also support auto-correct.
Make source pass inspection by updated IndentArray cop
Merge pull request #1128 from jonas054/fix_1118

Don't destroy code and do check right brackets
[Fix #1120] Don't indent heredoc strings in auto-correct
Merge pull request #1129 from jonas054/1120_heredoc_indentation

[Fix #1120] Don't indent heredoc strings in auto-correct
Clarify a bit of code with a comment
[Fix #1109] Handle conditions with modifier ops in them in ParenthesesAroundCondition