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.
TODO: Add tests for this class:

 * Regenerates value from `$callback` on miss. (Actually this should be true of all pool implementations -- maybe add a TestCase interface that all tests for Pool implementations should implement?)
 * Enables Stash's stampede protection (i.e. calls `$item->lock()` appropriately)