Fixed bug where Shader::NetworkBuilder removed renderer prefixes.

This meant that all shader networks would have shaders of type "shader", which would trigger warnings from the viewport GL renderer.
Made ShaderAssignment use the shader type as an attribute name.

RenderManShader assignments are now stored as an "ri:surface" attribute, arnold shaders as "ai:surface" etc. This allows shaders for multiple renderer types to be assigned and to peacefully coexist side by side in the attributes.

Fixes #270.
Merge pull request #1035 from johnhaddon/shaderTypes

Better management of different shader types