Refactor Linter Results to not use a mixin

The Linter::ResultsHelper mixin is now gone and replaced by the
Linter::Results class. It handles warnings and errors and all the
merging logic. As a result, the analyzer now returns its results and
takes results through its constructor.

Still some todos:
* Add another parameter to warning/error to pass the property type that
  caused the error.
* Clean up the syntax a bit on the whole thing.
Fix syntax error in the result_spec
Appeasing the hound
Fixing error messages and tests
[Linter] Clean up new Results class usage to be more idiomatic Ruby

Thanks to @AliSoftware and @Kapin!
Merge pull request #131 from CocoaPods/refactor-linter-results

Refactor Linter Results to not use a mixin