JCache improved concurrency of CacheManager and CacheProvider impls improved #3564

This pull request send as separate from #3564 to preserve #3564 comments
You still can get a NPE here. It can be that the provider is closed before the HazelcastClientCacheManager is called and then the hazelcastInstance is set to null.