JCache improved concurrency of CacheManager and CacheProvider impls improved #3564

This pull request send as separate from #3564 to preserve #3564 comments
Is this not a race problem? First you do a get on the cacheConfig and then you do a create. You have made this method synchronized, so it can't happen that 2 threads on the same JVM using the same HazelcastCacheManager instance are going to run in this race. But if you have 2 threads on different JVM's, then this race can still happen.