web: fix cache bug

Occasionally, someone would fetch points with an `end` value hours in the future
(presumably a device with a messed-up clock). This would cause MetricsLoader
to pre-cache a series of `{empty: true}` points, which, after that time has passed,
show up as a gap in the cache.

This patch ensures that incomplete aggregate points don't get written to the cache.
web: 0.0.13