[Fix #512] Fix bug causing crash in AndOr auto-correction.

When checking if auto-correction changes the grammatical meaning of the node, we used the original node whose ranges refer to the whole file. Must use the new node we get from parsing the and/or expression.
Extract method Util.source_length
New cop ClassLength
Code style
[Fix #515] Fix code-destroying bug in AlignParameters auto-correction.
Refactor AlignParameters.
Fix code-destroying bug in AlignArray auto-correction.
Extract common code from AlignParameters and AlignArray.

Move into the AutocorrectAlignment module.
Refactor AlignParameters spec.

Bring up-to-date and unify style internally in the file.
[Fix #516] Fix RedundantReturn auto-correction bug.

Would generate invlid Ruby for return with an implicit array.
[Fix #519] Make HashSyntax cop configurable
Move change to proper section of the changelog
[Fix #520] Make StringLiterals cop configurable.
Split FavorModifier by which cop they describe
Use #subject
Match spec offence messages with literal strings
Always name the subject ":cop"
Use #described_class where possible
Describe specs with one line
Use described_class, describe spec with one line