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
Another problem here is that the HazelcastClientCacheManager could be called with a null hazelcastInstance because the CachingProvider was just shut down.

What is often do is to store the volatile variable in a local variable if I need to use it multiple times; so that the world is not changing underneath my feet.