Extract CommentingPolicy policy object

This is something I did in my branch https://github.com/thoughtbot/hound/compare/lw-duplicate-comments to make https://trello.com/c/ha2hgFj2/283-avoid-commenting-a-second-time-after-a-force-push easier.

* Extract `CommentingPolicy` object for logic around permitting
  Hound to comment on a line in a pull request
Why is this necessary?