WIP

* remove ad-hoc code
* create UpdateChecker model
* ensure all branches are possible
* don’t use rewire
It just seems that we should be all one way or the other, otherwise we have to check `node-require-timings` before any require which adds odd overhead to feature development.