Support template subdirectory definition

Lots of changes here:
- Write all files to a subdirectory prior to actual target
- Support a `templateRoot` definition and only extract those files to target
- Don't require `settings/public` or `settings/rules` in template definition
- Include rimraf for easy `rm -rf`