Scene reader hashes

Having accurate hashes for attributes in the readers gives us a 60% speedup in a heavy production character setup, so I'd like to move towards making that available. The most sensible place to calculate those hashes is in the actual SceneInterface, so I'm using the SceneInterface::hash() methods in the SceneReader (I've also removed the user:tag attributes, as tags are much more useful as sets and I can't see a use for them as attributes).

Another thing I've done is make FileSource inherit directly from SceneNode, as the only purpose Source seems to serve is to append scene:path to the hash for all children of outPlug(), which we definitely don't want. Maybe there's a better way of structuring that?