Fixes #55 and code refactoring

- refactoring: separated the `InitTemplate` step into `FetchRemoteTemplate` and `ValidateTemplateDirectory`
- fixed #55: in preview, avoid cloning remote repositories on every refresh

Before merging I want to wait for #57 to be able to unit test `FetchRemoteTemplate` (which right now does `git clone` so it's hard to unit test).