Lazily download Gradle sources when they aren't available This commit implements lazy download of Gradle sources when they are not available. Previously, the Kotlin DSL expected the `all` distribution to be used to provide proper IDE support. If this distribution wasn't used (typically with the wrapper), then navigating to sources wasn't possible. With this commit, if the sources are not available, Gradle will do its best to download the zip of sources and make it available.
It does so by creating a temporary configuration that is used to reference the Gradle sources, which are then exploded through a dependency transform, so that the IDE can use them.