Adding hash function to SceneInterface

I've added a hash function with an enum that computes different kinds of hashes (for Object, Transform, child names, etc) for a given point in time.

This will allow better use of caching mechanisms when loading scenes as well as use of instances in engines such as Gaffer.

Is it possible that if a SceneCache is destructed, and another is constructed and happens to use the same address, we'll get hash clashes?