Make Report implement Iterable<RuleViolation>

With this change we can easily iterate over a Report using the
for-each loop of Java 5 instead of using Report.iterator().
Also the @Override annotation has been added to Report.iterator() and
ReportTree.iterator() as PMD switched to Java 6.