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
To lessen our dependence on order here could we do `build = Build.find_by(repo_id: repo.id, commit_sha: head_sha)`? It's more verbose but avoids an potential issues in the future with concurrent tests. Maybe overkill though.  Thoughs?