Merge pull request #468 from johnhaddon/shaderDisablingBugs

Shader disabling bugs
Made InputGenerator compatible with CompoundPlug parents.

Previously it could only generate plugs directly on Nodes.
Fixed CompoundPlug default name.
Fixed InputGenerator for plug prototypes with numeric suffixes.

Also fixed bug which could cause plugs to be repeated in the inputs array if the InputGenerator was constructed from a childAdded() slot.
Added ArrayPlug class.

This is basically a CompoundPlug which uses an internal InputGenerator to create array elements on demand. I suspect that in the longer term we might want to ditch the InputGenerator and use ArrayPlugs everywhere we want dynamic inputs.
Added variable length coshader array support to RenderManShader.

Fixes #462.