Filter OCLint report duplicate

Uses a temporary OCLintViolation (with suitable equals/hashCode methods) class and a Set to collect the projects issues and ignore the duplicates. Once collected these issues are converted to SonarQube violation class instances. Fixes #40