IECoreMaya::DrawableHolder selection fix (API change)

IECoreMaya::DrawableHolder used to be derived from MPxLocatorNode. This would have been fine and dandy, but for the fact that maya treats locators like flat cards when you're selecting them. Because of this, selection was working very poorly for large objects like environment map spheres. We're now deriving it from MPxSurfaceShape, which gives us more control over the selection process and allows us to implement it correctly.
Fixed bug #4837: "Knobs not found" warning messages.
The bug only appears when loading the LensDistort node UI for the first time with a file sequence specified. The cause was the early termination of the knob_changed() method before an update
to the dynamic knobs was made. The fix also the code simpler to read.
Fixed an issue where the artefacts were appearing around the edges of the bounding box despite the "black_outside" flag being turned on.
An additional result of this fix is that the distorted image is no longer clipped slightly around the edges.
Fixed SceneCache build problem on OS X.
Removed IECoreGL/Lights.h.

It was unecessary before, isn't used anywhere, and refers to deprecated OpenGL functionality we wish to move away from.
Removed IECoreGL/GLUT.h.

We don't have a dependency on GLUT any more, and we should have removed the header when we removed the dependency. Also fixed inaccurate comment in IECoreGL.h.
Merge pull request #147 from johnhaddon/removeGLUTHeader

Removed IECoreGL/GLUT.h.
Merge pull request #146 from johnhaddon/removeGLLights

Removed IECoreGL/Lights.h.
Merge pull request #145 from johnhaddon/sceneCacheMacBuildFix

Fixed SceneCache build problem on OS X.
Merge pull request #143 from goddardl/LensDistortMissingKnobError

Fixed bug #4837: "Knobs not found" warning messages.
Added FnSceneShape createChild, extracted from expandOnce.
Fixed IECoreGL::PointsPrimitive crash on OS X.

It seems that some drivers don't like being passed 0 points to be rendered.
Merge pull request #149 from johnhaddon/zeroLengthGLPointsFix

Fixed IECoreGL::PointsPrimitive crash on OS X.
Merge pull request #148 from valeriebernard/fnSceneShapeCreateChild

Added FnSceneShape createChild, extracted from expandOnce.
Fixed IECore::Lookup for OS X.

I'm not sure why the compiler didn't like the templated constructor, but using boost::function instead fixes the problem and makes it more flexible anyway.
Merge pull request #150 from johnhaddon/lookupImprovement

Fixed IECore::Lookup for OS X.
Fixed GLSL shaders to work with GLSL version 120 (OpenGL 2.1).

Version 120 uses "attribute/varying" for vertex shader inputs and outputs whereas versions beyond that use "in/out". Similarly, fragment shader inputs were renamed from "varying" to "in". The new VertexShader.h and FragmentShader.h headers provide macros to declare the right type based on the current version. Unfortunately, some of the GLSL code provides in the .cpp source files doesn't get preprocessed so those deal with the same issue with macros embedded directly in the code rather than by including a header.

It would be very nice to move to pure OpenGL 3/4 and rip all this stuff out for the next version.
Updated Changes and bumped version to 8.0.0a20.
Adding nameFilter parms for SOP_ParameterisedHolder inputs.

Incoming geometry can now be pre-filtered using these parameters. There is also a toggle to disable the name filtering.

Also stopped using NodePassData in preperation for upcoming commits in OpHolder and ProceduralHolder.
Allowing special case for FromHoudiniGeometryConverters which can have any result type.

This is necessary for ParameterisedHolders to be plugged into inputs of other ParameterisedHolders