chore(cache): Add some nice new internal APIs for caching

This *greatly* simplifies caching logic, especially for memcache-related code. See Datalist.php for the example in this PR.
Yup -- that's pretty much done already. We just depend on a minimal interface here so it can use any backend (via Stash).