Lps 52375

This is just a beginning of PMD integration, there are a few other useful out of box PMD rules that we can use, I will slowly one by one add them in.

@hhuijser
In the future, we can start to create our own home made PMD rules for some complex(or liferay only) cases, which should offload some of source formatter's duty. That should help us reduce source formatter's complexity.

Currently the ant integration is only using a single thread to scan/process the entire code base, which is quite slow. In the future, we can start to create unit test level integration, where we can divide the code base into chunks and scan/process them concurrently, by then we should able to move a few SF functions into PMD rules as they are much easier to maintain.

This will never be a replacement for source formatter, but it can be a very good supplement, its AST analyzing ability can be very handy in tricky complex cases. With time we will have a clear idea about what should be kept inside SF, what should move out to PMD.