Connecting indirect inputs for subnets

When expanding OBJ_SceneCacheTransforms, the child nodes will be connected to the subnet indirect input.
Auto-layout of expanded nodes
File parms channel reference their parent
SOP and Geo Path parms channel reference their parent
fixed crash in SOP info text
Adding interruptors for SceneCache nodes.

Expanding an OBJ_SceneCacheTransform and cooking a SOP_SceneCacheSource can now be interrupted using the escape key.
Merge pull request #80 from andrewkaufman/expandImprovements

Improvements for expanding SceneCaches in Houdini
cortex auto instancing patch
added hash method to a procedural in a test, to stop it complaining
added recursive mutex header to IECoreRI::RendererImplementation header
Fixed auto instancing test failures

auto instancing tests on curves and patch meshes were failing, because emitPrimitiveAttributes wasn't being called, meaning the correct basis wasn't being set
Fixed MurmurHash bug where empty strings had no effect on a hash.

The terminating null character is now considered to be part of the string. This is consistent with the general principle that the low level MurmurHash code should hash the contents of memory (with type information provided only to allow byte order to be dealt with properly).

It could be argued that the other array hashes should also include some sort of terminator to allow empty arrays to have some effect on the hash, but I'm not sure that that's right. At the low level I would consider that they shouldn't, because then they represent more than what's there in memory, and at the high level with VectorData we have additional information to ensure the hash changes anyway.
Implemented per-vertex Cs for IECoreGL::PointsPrimitive.
Fix mantra ProceduralPrimitive Invalid Query.

In hdk versions >= 12.1 using the VRAY_Procedural import method in
the constructor causes a non-fatal mantra runtime error:
    Invalid query -- null handle
Added a UT_Cache for ObjectPools.

UT_ObjectPoolCache creates a Houdini style cache control for ObjectPools. The plugin creates the default UT_ObjectPoolCache which wraps the ObjectPool::defaultObjectPool() and adds it to Houdini's Cache Manager UI.

Fixes #40.
Moving up some lines that define the test environment before they are copied to the python test environment.
Improved precision of CameraController operations.

Raster positions are now represented as V2f rather than V2i, providing subpixel accuracy.
Fixed erroneous compute on SceneShape outputObjects.

A Maya bug causes mesh attributes to compute on scene open, even when nothing should be
pulling on them. While dynamic attributes can work around this issue for single meshes,
arrays of meshes suffer from the erroneous compute as either static or dynamic attributes.

We work around the problem by adding a PostLoadCallback if the node was created while the
scene is being read from disk. This callback is used to short circuit the compute which
was triggered on scene open. Since the compute may have actually been necessary, we use
this dummy dependency attribute to dirty the output object attributes immediately following
load. At this point the callback deletes itself, and the newly dirtied output objects will
re-compute if something was actually pulling on them.
Re-arranging OBJ_SceneCacheNode parameter functions.

This commit is just organizational, to make adding folders easier in the next commit
Adding MainSwitcher (tabbed folders)

Placed all SceneCache parms in the Main tab