DetailSplitter now considers unnamed geo valid.

It stores unnamed geo under "" in its internal cache. This allows users to always use values() rather than having extra logic for an empty list.
Replaced SOP_ToHoudiniConverter with SOP_CortexConverter.

The new node can convert between GU_CortexPrimitives and native Houdini geometry in either direction (using the ResultType parameter). It also has new a nameFilter parameter to limit what shapes are processed. Shapes matching the filter will be converted, while shapes that do not match will be passed through unmodified.
Deleting NodePassData class.

This is no longer necessary now that we have GU_CortexPrimitives.
Using nameFilter on ParameterisedHolder inputs

needs tests!

filter * seems broken. it only takes the first MeshPrim when the param is mesh-only. Could it be getting a CortexObjectConverter by accident?
OpHolder now operates multiple times over its primary input, splitting by name.

The held op will operate on any name shaped in the primary input which matches the nameFilter. Non-matching shapes will be passed thorugh without modification. The other inputs will be treated as normal (not split by shape).

needs tests! probably breaks existing tests!