added test cases for plug caching behaviour at scene root

A problem was recently discovered where if an attributes plug was pulled on at the scene root, all subsequent pulls would incorrectly return an empty compound object. These tests illustrate that problem, and a couple of related issues
Fixes for new SceneNode test cases

Previously, SceneNode::compute would be special cased for the scene root, but these special cases would not be reflected in SceneNode::hash, leading to caching problems. The solution is to hash the default plug values for the special cased plugs at the root. The hash for a transform at the root is maybe a bit odd at the moment, but I'll put it in as a placeholder.
modified SceneTestCase.assertSceneHashesNotEqual to ignore cases where hashes are automatically equal
AlembicSource::hash change to fix test cases

Replaced AlembicSource::hash with hashBound, hashTransform and hashObject, as directly overriding the hash method was causing unexpected behaviour at the root