GU_CortexPrimitives in SOP_ParameterisedHolders

This request breaks binary compatibility in IECoreHoudini by introducing new virtual functions, and completely changing the behaviour of SOP_ParameterisedHolders. The new workflow takes advantage of our custom Houdini primitives, and eliminates the need for the NodePassData hack in the blind data. From a user perspective, the main changes are:

 - ParameterisedHolder SOPs have a nameFilter parm (w/ disable toggle)
  - These are used to pre-filter each input geometry (or not if toggled off)
 - ProceduralHolder outputs a single CortexObject holding its procedural
 - OpHolder operates several times per cook, once for each named input shape
  - Shapes matching the filter are operated on, and returned as CortexObjects, maintaining their name
  - Shapes not matching are passed through unchanged, whether they were normal geo or CortexObjects
  - It can be forced to operate only once by disabling the nameFilter or by passing a single named shape
 - CortexConverter SOP now operates in both directions (converting between CortexObjects and native geo)
  - It also has a nameFilter, with similar pass-through behaviour as the OpHolder

Fixes #36