Display failure status 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, the GitHub status will
  be changed to "failure".
* Validate repo config in `BuildRunner#run`. If config is invalid,
  create failure status and create build record.
* Add `RepoConfig#validate` and `RepoConfig#errors`
* Add `GithubApi#create_failure_status`
* https://trello.com/c/JLt3FVUb/397-use-status-api-to-tell-user-when-custom-config-is-broken
@gylaz I implemented the (I think) simplest possible version of this in https://github.com/thoughtbot/hound/commit/b899bbde823b25f74e352437ed027007370459ea.

I don't really like it because I have to call `RepoConfig.for` in order to call the `parse` methods with the right arguments, which makes it difficult to understand what's going on in `RepoConfig#invalid`. Do you or @srt32 have any ideas for refactoring?