add phase and test.single support to GrailsTestTask
Add tasks descriptions and create some Java style task structure
add grails-test-app as dep to test and add input/outputs to GrailsTestTask
README updates
phases property should not be private in GrailsTestTask
add Javadoc
Move GrailsInitTask doFirst configuration into a the TaskAction.

This doFirst wasn't being properly executed within the task. Instead,
override the default task action, execute the check and then call the
super.executeCommand()
Use a lazy evaluation of project.version in the GrailsInitTask.

This allows the project.version to be configured after the Grails plugin
is applied to the Gradle project by delaying evaluation of the property
until it is used. Requires that the GrailsTask.args property become a
CharSequence so the GString is not coerced into a String immediately.