Don't duplicate comments after force push

* Remove `Comment` model
* Update `Commenter` and `CommentingPolicy`:
  - Check for previous comments on pull request
  - If a comment reporting a violation for a given line has already been
    made, do not add a comment reporting the same violation
* Add `GithubApi#pull_request_comments` and `PullRequest#comments`
  methods for fetching and accessing pull request comments
* https://trello.com/c/ha2hgFj2/283-avoid-commenting-a-second-time-after-a-force-push
Why create this temp variable for `line_violation.line`, but not one for `line_violation.messages`? I would say just remove the temp var.