MemCache: Initial API structure.

@davidfowl @GrabYourPitchforks @lodejard @DamianEdwards @yishaigalatzer 
Suggestion: have an API that can get a cache dependency object for a given (key, value) entry.  This would allow creating custom dependency chains where entries in a given memory cache can be dependent on entries in an arbitrary other memory cache.