JCache improved concurrency of CacheManager and CacheProvider impls improved #3564

This pull request send as separate from #3564 to preserve #3564 comments
Can't you get a NPE here; there is a non atomic create/get. So it could mean that the cache was already removed again after it was created. 

Race problems can be very complicated. But there is a very simple pattern that finds a lot of them; check for 2 operations that assume no operation is interleaving. For example a get/set is a typical indication of a data-race.

In this case the createConfigOnPartition and the getCacheConfigFromPartition. If another operation interleaves -> problems.