ISPN-4991 Implement clustered cache statistics

Master only. Tristan should review
It seems that if this method is invoked by more than 1 thread you could have more than 1 cluster stats collection happening at the same time.  Maybe we should synchronize this?

This would also take care of the issue that all the variables read are not volatile since you could have partial updates seen due to memory model reordering operations.