Added memory object deduplication for SceneCache.

NOT TO BE MERGED UNTIL MORE TESTS ARE DONE 

Added a non-virtual function entryHash() to StreamIndexedIO (TODO: we should consider adding to IndexedIO in next major version). This function is supposed to return a unique hash for a child entry.

Using this hash in the cache objects in SceneCache, so repetitive Objects will return very quickly. It falls back to the previous hash if the IndexedIO is not derived from StreamIndexedIO (see TODO above)