Move the Linter::Result class into its own file.

Clears up a bit of the clutter inside of linter.rb and makes it clearly
it's own entity within the linter.
De-duplicate validation methods inside of the linter

Validation hook runners were essentially the same except by whom they
were targetting.
Remove extra commas in empty error message
Move the result helpers into the result file
Create an analyzer to encapsulate all specs analysis

tldr; moved a ton of code out of the linter into another class.

TODOS:
- Create a results mixin
- Separate out the validation into two sections for both consumers and
  specs
- Make sure documentation is good
Convert the result helpers to a mixin
Make only the results property public
Merge branch 'master' into linter-refactor

Conflicts:
	spec/specification/linter_spec.rb
[Podfile] Clarify ~> operator.

Fixes https://github.com/CocoaPods/CocoaPods/issues/1793
Change
Merge pull request #62 from dhoerl/master

Change back single quote to normal single quote
[Lockfile] Make sure file descriptor is closed.

Tip of the ‘ol hat to @floere for finding this.
[Readme] Use retina badge for Travis
[Readme] Make all the badges retina
Update README.md
[Rubocop] Require comma after last item of a list
[Gemfile] Don't user kicker from git
Fusion between the machine and the human to fix style... thanks Rubocop
[Rubocop] Ignore underscore in file name, for now
[Rakefile] Migrate release to Rainforest