GRADLE-2200: Partial support for Eclipse IDE for Gradle development

This change automatically sets the circular dependency to warning
at the project level when generating Gradle Eclipse project files
Move ReportingBasePlugin*Tests to declared packages

Eclipse complains when physical location and package declarations
do not match.  These seem to be the only two classes that were
not in the expected locations.
Workaround Eclipse compiler bug

flattenToList(Object...) and flattenToList(Class, Object...)
seem to confuse Eclipse's compiler since it selects the wrong
return type for flattenToList(Class, Object...).  This causes
compilation errors in Eclipse only.

This change adds an explicit cast to Class on the first parameter
so the correct return type can be determined by ecj

GradleBuildComparisonResultHtmlRenderer and DefaultModelRegistry
complained about generic-type capture-types that may be related
to more Eclipse strangeness

This compiles under both JDK5, JDK7 and Eclipse 4.3 Kepler

This bug exists in all versions of Eclipse since at least 3.7.2:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=417288
Merge remote-tracking branch 'big-guy/partial-eclipse-support'

Pull request: https://github.com/gradle/gradle/pull/200

Conflicts:
	subprojects/base-services/src/main/java/org/gradle/util/CollectionUtils.java