MemCache: Initial API structure.

@davidfowl @GrabYourPitchforks @lodejard @DamianEdwards @yishaigalatzer 
+1 - what is the concept name of a cache dependency object? ICacheDependency? IMemoryCacheToken? IDependencyToken? 

To be honest the object name dependency always seemed like an odd fit for an expiration trigger.