Better appcache handling

When generating the cache manifest revision, use a combined hash of
the content, template, and css files instead of just the content.

When reloading to pick up an appcache update, check
applicationCache.status to avoid reloading too early.