Revert "Revert "make sure that inferred groovy class paths aren't resolved at autowiring time, but only if/when they are actually used""

This reverts commit 08ca66498518387853b8eebb18a90e0f83456ff0.
allow composing (i.e. adding) FileCollections that don't implement MinimalFileSet
Revert "Revert "make sure that inferred scala class paths aren't resolved at autowiring time, but only if/when they are actually used""

This reverts commit 56800cebc7ad371cdaa3d69657943a00ac22f381.
improvements to Groovy class path inference
- fail early rather than returning empty configuration
- don't wrap `groovy` configuration in LazilyInitializedFileCollection
- removed some tests that are now covered elsewhere
improvements to Scala class path inference

- fail rather than returning empty scalaTools configuration
- don't wrap scalaTools configuration in LazilyInitializedFileCollection
- removed some tests/assertions that are (by now) already covered elsewhere