Adding hash() function to SceneInterface.

Added implementation to SceneCache and LinkedScene with a naive approach, more so that we update the interface first.
HoudiniScene and MayaScene currently throw exceptions.
Fixing the tests to work with sets of hashes.

... and reverting to the original bound code for the hash call.
Making hash for child names independent on time for SceneCache.
Updating header documentation for the function hash.
Computing hashes based on the samples available.

Proper computation is done now for each kind of hash except for non-leaf locations of HierarchyHash. Left a todo for it.
Computing special case hashes more appropriately.

Also updating the tests.
Using cast that is compatible with OS X as well.
Adding a TODO comment to replace the hash for scenes files.
Changing the semantics of HierarchyHash to include the transforms.
Defining SceneInterface::hash() as a function that adds the typeId.

Each derived class is now responsible to call the base class implementation as appropriate.
For LinkedScene, that only happens when the location includes the main scene and when the location or the information is purelly derived from the linked scene, the class simply forwards the call to the linked scene.
For SceneCache we always call the base class.
Merge pull request #307 from ldmoser/sceneInterfaceHash

Adding hash function to SceneInterface