ISPN-3629 SingleFileStore.start() often fails on File.mkdirs() during concurrent cache startup
File.mkdirs() can fail if multiple concurrent threads attempt to create the same directory
ISPN-3597 ClusterRegistry should provide event notifications

* Add methods addListener, removeListener
* Also add containsKey convenience method
Refactor ProtobufMetadataManager to use ClusterRegistry
Move method ProtobufMetadataManager.readStream to commons Util
ISPN-2143 Improve how different indexed caches sync up on new indexed types

* The known classes are no longer kept in a map in QueryInterceptor. They are added in the ClusterRegistry instead (in a unique scope per cache) so the information is automatically disseminated in the cluster.
* As a consequence, IndexUpdateCommand does not need to propagate the known classes info, this is already taken care of.
* QueryInterceptor.getKnownclasses method is removed as it's no longer needed