upgraded Findbugs, Checkstyle and PMD

- removed pmd library: now it is loaded from maven repo
- added pmd-java library into build.gradle so java rules are taken from repo not local custom jar
- upgraded Findbugs, Checkstyle and PMD, resolved problem with dependencies
- minor changes required by new PMD API
- better support in case when findbugs throws exception when there is no file for analyzing
Catching all Throwable is not good habit as well, at least RuntimeException would be fine.

I changed the code after reading this documentation https://code.google.com/p/findbugs/source/browse/findbugs/src/java/edu/umd/cs/findbugs/FindBugs2.java#191

So if something else is throwing it means problem with configuration, environment etc and we shall not treat it as problem that should not be exposed to user. Did you have any problem which is not any of the above cases so there is reason to keep old solution?