The "path" package supports only forward slashes in paths, like those
found in *nix operating systems or URLs.
Meanwhile Windows with its CP/M and QDOS ancestry requires drive letters
and backslashes, and thus the "filepath" package needs to be used.
The end user would be prompted if a file is going to be overwritten,
but homemaker would still attempt to do so no matter the answer.
Move the retry-functionality of cleanPath inside this function so that
the function itself can return a boolean to indicate if the calling task
is free to continue. If the path is not clean then homemaker can just
move on to the next file or next task.
This created a template with two entries within it; using
template.Execute would execute an empty template when you attempted to
use templates within a sub-directory