Split update and render

Some refactoring that moves a bunch of properties onto the repo object and splits out act of updating the repo object and redrawing it on the page.

This work was done with two specific features in mind: making the linked compare page use tags instead of the references given (eg `/compare/release_5...release_8` instead of `/compare/deployed-to-production...deployed-to-preview`) and showing the size of outstanding changes. Either or both of those features could end up being contentious, and I believe this refactoring provides value on its own by making it easier to build on the code base, so I'm submitting it as a standalone pull request.