Use single groovy version if provided with grails.groovyVersion

Ensures that only the specified groovy version is getting used
in this module regardless of dependencies. Useful when developing
against libraries that use a new Groovy version than the one included
in the version of Grails being used.
add a custom GrailsTestTask that allows for specifying testResultsDir
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