Enabling/disabling for shader nodes

This pull request implements enabling and disabling of shader nodes, using the same basic mechanism used for enabling and disabling of other node types. By default disabled shaders behave as if their output connections didn't exist. RenderMan shaders may change this by defining a "primaryInput" annotation naming an input coshader parameter - this will be used to make the disabled shader act as a pass-through.