Builds a new template.
Checks if the destination file already exists.
Checks if the content of the file at the destination is identical to the rendered result.
Renders the template and copies it to the destination.
Renders the template using ERB and returns the result as a String.
removes the destination file
[Validate]