GRADLE-1635: Added expand method for providing template impl

Instead of changing the existing `expand` method for the `Copy` task I added an additional expand method that lets you provide an implementation of `groovy.text.TemplateEngine`. One example I used for the tests is the provided implementation `org.gradle.util.TokenTemplateEngine`. If you want to you can pull that in as well. Adding this method will allow developers to have specific `expand` implementation e.g. one that behaves like the Maven filter mentioned in the [ticket](http://issues.gradle.org/browse/GRADLE-1635).