Merge pull request #5 from evilstreak/split-update-and-render

Split update and render
Move CSS out of index and into it's own file
Switch from vw to em for font sizing

This was causing problems on screens, and for variable numbers of repos (eg, 4 was ideal, more caused problems)
Refresh the whole page once every 3 hours

As this usually runs on radiator screens it's easier if updates happen automatically,
without having to go find a keyboard and mouse. This will refresh the same URL and
load any changes.

Frequent enough to get changes, not so frequent it visibly refreshes to often
Cleanup formatting
Use tags when linking to Github compare view

After updating the repo state from the compare endpoint, grab the sha of
the two ends of the compare, fetch the list of tags for the repo, look
up the first tag for each of the shas, and use those tags to build the
compare URL linked to from the title.

Our use case for this tracker is to compare the difference between a
branch that tracks what's been deployed to production and master.
Because these branches are moving targets, when we prepare a release
candidate for a deploy we link to specific commits which are tagged with
(never updated) release_123 type tags. Using those tags to build the
compare URL makes it one-click easy to get a link for a release
candidate.
Turn tag resolving on with a query parameter

Set resolve_tags to anything except an empty string to look up tags for
the start and end commits of the compare and use those in the compare
link.