Fixes #55 and code refactoring

master: [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/badges/quality-score.png?b=master)](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/?branch=master) [![Code Coverage](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/badges/coverage.png?b=master)](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/?branch=master)
branch: [![Scrutinizer Code Quality](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/badges/quality-score.png?b=remote-templates)](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/?branch=remote-templates) [![Code Coverage](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/badges/coverage.png?b=remote-templates)](https://scrutinizer-ci.com/g/CouscousPHP/Couscous/?branch=remote-templates)

- 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).