REVIEW-3319: completely reworked TemplateBasedProjectInitDescriptor implementation

TemplateBasedProjectInitDescriptor now takes a set of TemplateOperation to generate a specific projectlayout. A SimpleTemplateOperation just contains the a source url, a target file and optinoal bindings
This makes composing different descriptors out of different templtae operations cleaner and simple. ProjectLayoutSetupRegistryFactory uses TemplateOperationBuilder to siimplify creating instances of TemplateOperation which are composed to different ProjectInitDescriptors
REVIEW-3315: don't generate resources in source folder and get rid of additional .gitignore entry.

- put generated version resources file into generatedResourcesDir
- use groovy instead of groovy-all.
- fall back to fixed version for scalatest and groovy until we have a convenient way to declare custom versionselectors because they pull in beta and rc versions
REVIEW-3319: mention new buildtypes in userguide; fix renaming issue (was still build-setup-plugin.html)