Pmd 5.0 support

Recreated and rebased the old branch and updated the target jdk handling to support PMD 5.0.