U4-4931 - 6.2 - lock contention & potential application lockdown

See details in issue tracker, this is #384 and #388 re-targeted for 6.2(.2).
The lock is now an instance var of DictionaryCacheProviderBase so it's not "static" really but that's not the point I guess. The HttpRequestCacheProvider relies on the HttpContext cache and so is local to the current request anyway. Did not realize it (really). 

Means that HttpRequest- and HttpRuntime-CacheProvider have little in common and maybe it's best to get rid of the DictionaryCacheProviderBase since they'll end up overriding everything anyway. Looking into it.