Right-align the weather symbols.

Some of them are constrained by height rather than width, and these ones
look better when aligned to the right edge.
Declare HTML snapshots as being utf-8.

They end up being utf-8 due to how jsdom serializes the DOM to HTML, so
declaring this way causes non-ASCII characters to render correctly.
Previously they were being interpreted as latin-1.
route.locals should be resolved, not promises.

Previously we were putting the promises into route.locals, but the
interface contract is actually for us to wait until they are resolved
(shallow promise resolution with $q.all) and put the promise results
into the set instead.