Made class analysis serializable.
Added a TODO
Added a TODO.
Renamed the java class of one of the caches (incremental java compilation).
Documented the TODO better.
Prepping the code for caching of the class analysis results. All for the fast incremental java compilation.
GRADLE-3105 - Fixed problem in JacocoReport where coverage is always 0.

- Added some int test coverage for the coverage in Jacoco reports.
added a note related to pmd default version bump
Fixed generation of ivy.xml to attach artifacts to the correct configurations.
Tweaked the exception message of the 'cannot change resolved configuration' because this exception can be hit on Gradle upgrade due to the change of "+= someConf" semantics.
Added more details to the release notes regarding the change of the "+= someConfiguration" semantics.
Changed DefaultLocalComponentMetaData to ensure that (Ivy) Artifact.getConfigurations() returns the set of configurations that the artifact belongs to, rather than an empty array.
Removed unused import.
Merge branch 'release'
Created action for post-jar plugin validation
Simplified the cache interface so that I can use it with keys like byte[]. It seems it is the simplest solution given the usages of Cache we have right now in the codebase.
Stared caching (globally) the class analysis for the incremental java compilation.
Some small rename job, tidy up in the TODOs.
Reworked the default class analysis cache for incremental java compilation so that I have an implementation I can reuse elsewhere.
Simplified the implementation of the persistent jar snapshot cache.