WIP

* remove ad-hoc code
* create UpdateChecker model
* ensure all branches are possible
* don’t use rewire
Looking below at `doCheck` it seems that the value that is resolved is the version number, not an object (although I could be missing something), but we are checking for `updateInfo.updateNeeded` as if it were an object with an `updateNeeded` prop.