Adding thread-safe attribute read to SceneCache

This problem is mainly detected when the root location of scene caches have attributes. The root scene caches are returned by our SharedSceneCache mechanism and therefore parallel threads could be querying at same time the same attribute.

Added a unit test to demonstrate that.

Ps: this fixes an issue on the PSC rendering that shows the following warning message: 
WARNING: SceneShapeProcedural::render() YYYY : No samples for attribute XXXX available