Comment on PR when config is invalid

* Hound users currently receive no feedback when their Ruby, JavaScript,
  and CoffeeScript configuration files are invalid. This commit
  introduces a new feature to address this disconnect:
  When a config file is empty or can't be parsed, Hound will leave
  a comment on your pull request indicating that the config file is
  invalid.
* Validate repo config in `BuildRunner#run`
* Add `RepoConfig#validate` and `RepoConfig#errors`
* Add `GithubApi#add_issue_comment` and `PullRequest#add_comment`
* https://trello.com/c/JLt3FVUb/397-comment-on-the-pr-that-breaks-configuration
`self` is necessary here because `for` is a keyword.

I initially wanted to only record errors when parsing fails, but the implementations I tried seemed to introduce duplication of the logic in `RepoConfig#for` ([source](https://github.com/thoughtbot/hound/blob/master/app/models/repo_config.rb#L18-L30)), `RepoConfig#parse_yaml` and `RepoConfig#parse_json`. I was hoping with this implementation to minimize complexity and duplication by relying on existing methods.

That said, if this logic doesn't produce the desired user experience, it should be changed.