tests: fix integration test file handling

The integration tests were failing with messages about build.gradle already existing.
This appears to be caused by the tests making the assumption that TemporaryFolder.newFolder/newFile
would return the same file if called repeatedly with the same arguments.  However, it looks like that was
changed such that now it throws an exception if the file exists.

The new implementation should meet the expectations of the existing tests.

https://github.com/junit-team/junit/issues/413
https://github.com/junit-team/junit/pull/419
configure idea module scopes (fixes #24)

This makes it so that libraries that are on the grails classpath end up in the IntelliJ module file,
allowing IntelliSense to work as intended.  Other usages (such as run configurations) may not work yet.
Pass grailsHome to launcher via system property when available

Grails depends on grails.home being set for some features.  This plugin already
had some support for providing a grailsHome via project property (which can
either be set on the command-line or by assigning a value to "ext.grailsHome" in
the build script), but this value wasn't being passed to the launcher so that it can
be used.  In particular, after this change, if you set the grailsHome project property,
when running the grails-run-app task, Environment.isDevelopmentMode() should
now return true.
Add test for grailsHome behavior
Merge remote-tracking branch 'davidmc24/set-grails-home'
Add support for -Pargs and -Penv when using grails-<...> rule based tasks (the
README already documents this)
Switch to grailsArgs/grailsEnv so we're less likely to clash with anything else
Merge branch 'args-and-env-support' of https://github.com/akiernan/grails-gradle-plugin into args-and-env-support

Conflicts:
	src/main/groovy/org/grails/gradle/plugin/GrailsPlugin.groovy