Tidied OSLShader.cpp.

Moved methods unrelated to shader loading out of the shader loading section.
Moved OSLShader shading engine cache into anonymous namespace.

We don't want to expose it as part of the public API.
Added OSL metadata accessors to OSLShader node.
Fixed module import order and namespace pollution issues.

You can now simply "import GafferOSL" or "import GafferScene" without first having to import the modules they depend on, but they don't include those modules within their own namespace.
Specifying lockgeom=1 by default for all OSL shading engines.

This means that primitive variables (user data in OSL parlance) are not automatically mapped to shader inputs unless those inputs have explicitly set lockgeom=0 in the source (which is rare). This almost doubles the speed of a simple image noising operation.
Fixed OSLShader::acceptsInput( NULL ) crash.
Merge pull request #797 from johnhaddon/oslMetadata

OSL Improvements