GRADLE-3027 Stared working on fixing the issue with creation of ivy's module id / module rev ids leading to endless loop. Removed extra attributes handling for the ivy ids because we don't use them.
GRADLE-3027 Replaced almost all usages of ModuleRevisionId.newInstace with IvyUtil for consistency. This will also allow adding proper synchronisation later (the actual bugfix).
GRADLE-3027 Next step in pushing all/most creation of ivy ids into our IvyUtil. This way, we can control it better and apply any synchronisation needed.
GRADLE-2997 Updated Gradle so that it uses newer zinc version, compatible with later versions of scala (2.10.3).

- Added scala 2.10.3 to the coverage. The changes to the zinc api required me to supply more sbt parameters. I've inspired on the other open source tools that use zinc and looked at the zinc docs. However, I'm not sure if they are all good (the tests pass and the real-life projects I've tried they compile, too).
- Since I've bumped the zinc version it is a more-less breaking change that I will document in the next commit.
GRADLE-2997 Documented the zinc upgrade in breaking changes section.
Improved a little bit the exception message when Gradle is unable to connect to the child worker process due to the timeout.
Made it possible to configure gradle child process worker names.
Configured FindBugs worker process name.
Configured child worker processes names. This is helpful when debugging and understanding process-issues.
Fixed the tests after changing test worker process name. Tweaked a bit the suite name.
Updated a unit test after changing the gradle worker test executor name. JMock->Spock. Removed some coverage that was mirroring the implementation (which was just object configuration) and only left coverage for interesting complexity.
For consistency reasons, replaced more usages of ModuleRevisionId.newInstance with calls to our IvyUtil. Also replaced constructor calls where appropriate.
For consistency reasons, replaced relevant usages of ModuleId.newInstance and new ModuleId with calls to our IvyUtil.
Checkstyle
Made all ivy id creation methods go through single creation method so that we can influence it better (and sync it).
GRADLE-3027 Synchronized creation of ivy ids. This concludes the changes and refactorings in the area of ivy ids for now. I'm not sure if I have chosen a good strategy here, a new synchronisation may introduce a performance hit. Also, in previous refactorings, I've replaced constructor calls with static factory methods on IvyUtil. This leads to more interning (memory hit?). Also, constructor in IvyUtil does replace null with empty string for group and version which deviates from the behavior of the constructor. Please review. I'm open to updating my strategy and/or reverting some of those changes if needed.