Changed a bunch of integration tests to use the various task assertion methods instead of directly querying the `executedTasks` and `skippedTasks` collections. These methods can give better diagnostics when the assertion fails, and can perform additional checks.
Make environment variable mutation work on Java9+ Mutating the environment requires reflection on the java.util package, so we need to open that package up to Gradle. Since Gradle is not modularized, this means opening it up to the whole classpath. This is less than desirable, but the only way to restore the behavior we had on Java 8 and below.
We should start limiting access to environment variables going forward so users don't depend on arbitrary values. However, this change allows us to unblock users who are currently either not using Java 9 or running Gradle in no-daemon mode, both of which are terrible solutions.