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
Added Output tab containing translate, rotate, and scale.

These are just for user visibility of what the node is doing. They are updated during cook, and cannot be modified by users.
Merge pull request #86 from ldmoser/maya2014

Fixing maya python test environment in SConstruct
Merge pull request #87 from johnhaddon/cameraControllerPrecision

Improved precision of CameraController operations.
Using default python expressions on output parms.

These parms no longer require cooks (and are correctly marked a no-cook parms), as that is not a supported behaviour in Houdini. They instead evaluate python expressions by default. I originally tried using hscript origin(), but ran into issues with double transformations on the geo nodes when expanding in SubNetworked mode. Hopefully python isn't too slow...
Merge pull request #84 from andrewkaufman/exposeTransform

Expose transform on OBJ SceneCache nodes
Merge pull request #88 from andrewkaufman/mayaSceneShapePhantomCompute

Fixed erroneous compute on SceneShape outputObjects.
Passing name in contructor and removed default pool
Merge pull request #85 from andrewkaufman/cacheManager

Added a UT_Cache for ObjectPools
Added public access to the underlying SceneInterface
Added Push Parms button and pushToHierarchy virtual function.

This allows a user to update the GeometryType and filter values throughout the hierarchy without having to collapse and re-expand. In the future, this may be changed to push hierarchy changes as well as parameter values.
Merge pull request #89 from andrewkaufman/pushToHierarchy

Houdini SceneCache OBJs can push parameter changes
Fixing test files for LinkedScene

Links now pointi to the test directory as opposed to files in /tmp and modifying the testWriting() test so that it can recreate the files if necessary.
Adding setPresets() to Parameter class.

This will allow dynamic interfaces to exist, by updating the shown presets based on value changes in other parameters in the same Parameterised object (most likely Ops).
The idea is to make Gaffer support a user hint that forces a given Parameter to be shown as a drop down list control, and then, use the change-value callback mechanism to update the presets and update the current value if not in the new presets.
Adding getPresets() and deprecating presets() function.