JCache improved concurrency of CacheManager and CacheProvider impls

CacheManager and CacheProvider removed sync
CacheRecordStore improved checkstyle
CacheStatistics added to ICache and impl for server mode
I think this part is broken; if another thread has created the cacheManagersByUri after the == null check fails, you won't see this cacheManagersByUri and you add the created cacheManager to an invisible map. 

This can lead to multiple instances of the same cacheManager being created. Probably you want to deal with the return value of the putIfAbsent to determine the correct cacheManagersByURI instance.