TagFilter now prevents unnecessary expansion.

In SubNetwork/AllDescendants mode, the tagFilter is used to prevent expansion into branches of the hierarchy that were not requested. For a heavy asset, filtering by a "Proxy" tag was expanding in 25 seconds and creating 22000 nodes. It is now expanding in 3 seconds and creating 3000 nodes.
Promoting tagFilter to all SceneCache nodes.

Not actually using it yet.
Finished promoting tagFilter.

SceneCache Xform and Geo pass the tagFilter through to matching children during expansion and push. Xfrom still uses it to limit expansion and control visibility. Geo just passes it on to the SOP, which uses it to limit objects loaded.
Making struct to hold the expansion parameters.

Simplifying the function signatures rather than adding yet another argument to all of them. I probably should have done this before adding the tagFilter...
Promoting shapeFilter to all SceneCache nodes.

SceneCache Xform and Geo just pass it through to the SOP, as with the attributeFilter.
HoudiniScene recognizes user defined tags on OBJs.

It gets a space separated list of tags, which can be defined on any OBJ node, by making a string parm named ieTags
Adding ieTags output parameter to SceneCache OBJs.

This is a space separated list of tags, which are exported when caching with the SceneCache ROP (via HoudiniScene).
HoudiniScene uses PrimitiveGroups to define extra tags on SOPs.

Users can now define extra tags on hierarchy inside a flattened SOP by making a Houdini PrimitiveGroup with the prefix "ieTag_" and assigning the relative prims to it.