(#227) transition to guice's @ImplementedBy annotation

Also pulled in latest gradle template, which forced my to make some small updates due to  PMD violations failing the build.