Fix SymbolProc autocorrect with multiple offenses

When there were multiple offenses for the SymbolProc cop (e.g.
`coll.map { |s| s.upcase }.map { |s| s.downcase }`) the cop would
raise an error: `Parser::Source::Rewriter detected clobbering`.

Digging into relevant commits I found some inspiration from
@jonas054 (#569). This commit changes the autocorrect for the
`SymbolProc` cop to be a little more precise in determining what to
correct. There's a new spec that I wrote that fails on master and
passes on this branch.
Merge pull request #1456 from jcarbo/fix-multiple-symbol-proc

Fix SymbolProc autocorrect with multiple offenses
Fix Style/ElseAlignment Cop error on def/rescue/else/ensure/end.
Merge pull request #1457 from oneamtu/master

Fix Style/ElseAlignment Cop error on def/rescue/else/ensure/end.
Support style-guide only usage

Many cops that have been implemented and enabled by default have no
correlation to a style-guide rule: `Metrics/ClassLength`,
`Metrics/AbcSize`, `Metrics/PerceivedComplexity` just to name a few. In
cases where these cops find violations, there's little recourse as the
rules cannot be traced back to a meaningful discussion or consensus.

The `--only-guide-cops` and `AllCops/StyleGuideCopsOnly` options give
users an easy method of invoking RuboCop in a way that's more congruent
with the rules of the style guide.

Working around `GuardClause` violation in `Runner#filter_cop_classes`.