CLC-4102 Reduce (& do not encourage) redundant caching

https://jira.ets.berkeley.edu/jira/browse/CLC-4102

* Gets rid of some excess caching and excess cache-updating. Now that the service has scaled up so much, we need to reduce memory, CPU, and data-source consumption as much as we can.
* Makes it easier (I hope) to add cache-consuming features one step at a time as needed (CachedFeed + LiveUpdatesEnabled + JsonCacher + FreshenOnWarm), rather than giving away the store by default.
* Also makes it much easier to combine Live Updates checking with normal cache lifespans (including short lifespans when a data source suffers a temporary glitch) via the LiveUpdatingProxy mix-in.

This is massive, obviously, and I won't be surprised if the remaining team considers it too risky for the current short-handed sprint. But we can at least start collecting comments, testext failures, etc.
I get that, @ctweney. But ordering is key with this additive mix-in strategy. With inheritance we'd stay stuck with a situation where you can't decide to cache JSON separately without also participating in Live Updates, you can't freshen-on-warm and also get smart exception handling, you can't filter View As and also cache JSON, etc.

I think the "LiveUpdatingProxy" name is a big part of the problem here, since it sounds like a drop-in replacement rather than an "extra". I hope to have an acceptably communicative replacement on Monday.