WIP

* remove ad-hoc code
* create UpdateChecker model
* ensure all branches are possible
* don’t use rewire
Shouldn't `chalk` and `semver` be required in the initializer to avoid picking them up on every command execution ([see here](https://github.com/stefanpenner/ember-cli/blob/master/ARCHITECTURE.md#dependencies)).