Refactoring

- Reverting recent changes to `retrieve()` by leveraging the Promise it returns and keeping `init()` concerned with starting the app
- Refactored `retrieve()` to be simple
- Created `prepare()` to get templates
- Refactored `init()` to implement the Promises returned from `retrieve()` & `prepare()` for a clean separation of concerns
- Simplified `init()` by removing unused `repos()` stub