Groovy Build Steps

Here come the Groovy build steps. I tried to keep the syntax close to the Ant steps since both steps have similar properties. 'groovyParam(s)' and 'scriptParam(s)' define parameters for the Groovy executable and the script. 'prop(s)' is an shortcut to define -D parameters. I hope the methods are self-explanatory. I did some refactoring so that the Groovy and System Groovy steps share an AbstractGroovyContext and I moved to construction of the scriptSource element to a separate method.

```groovy
steps {
    groovyCommand(String commandString, String groovyInstallation = '(Default)', Closure groovyClosure = null) {
        groovyParam(String param)
        groovyParams(Iterable<String> params)
        scriptParam(String param)
        scriptParams(Iterable<String> params)
        prop(String key, String value)
        props(Map<String, String> map)
        javaOpt(String opt)
        javaOpts(Iterable<String> opts)
        groovyInstallation(String groovyInstallationName)
        classpath(classpathEntry)
    }
    groovyScriptFile(String fileName, String groovyInstallation = '(Default)', Closure groovyClosure = null) {
        groovyParam(String param)
        groovyParams(Iterable<String> params)
        scriptParam(String param)
        scriptParams(Iterable<String> params)
        prop(String key, String value)
        props(Map<String, String> map)
        javaOpt(String opt)
        javaOpts(Iterable<String> opts)
        groovyInstallation(String groovyInstallationName)
        classpath(classpathEntry)
    }
}
```

I will adjust the wiki if you merge this.