Upgrade RuboCop

* memoize StyleGuide#config result
* add tests for old-style syntax
* call `add_missing_namespaces` on override (custom) config to ensure that
  merging is handled properly

https://trello.com/c/K7dSqe3k
Disable EndOfLine cop in tests

This cop breaks when dealing with strings (instead of files).

Here's a RuboCop PR to address the issue:
https://github.com/bbatsov/rubocop/pull/1203
Compare violation messages before commenting

* This commit ensures that:
  - to determine whether a comment is permitted, we check existing comments'
    `original_position` rather than `position`, which is nil after force pushing
  - violation messages in existing comments are split and checked
    individually, rather than as one large string with line breaks