Compare violation messages before commenting

* This commit ensures that:
  - to determine whether a comment is permitted, we check existing comments'
    `original_position` rather than `position`, which is nil after force pushing
  - violation messages in existing comments are split and checked
    individually, rather than as one large string with line breaks