JCache improved concurrency of CacheManager and CacheProvider impls improved #3564

This pull request send as separate from #3564 to preserve #3564 comments
You still have a race problem here. If another thread has called the close(classloader) for the same managerClassLoader, you can end up with a null cache manager.

Apart from that only a single cacheManagers.get for the happy flow is needed.