turning ri:automaticInstancing on by default
TIFFImageReader now checks if the tif is tagged as coming from tdlmake, and if so, sets the sourceColorSpace from the image description set by tdlmake.
Switched glsl diffuse and specular functions to match 3delight's properly normalized BRDFS

I'm open to putting these under a new name if we want to keep the old versions - if we overhaul how lights are passed, we'll be changing some of this anyway ( like the use of gl_MaxLights ).  But for the moment, this is a fairly nice high quality spec BRDF.  Maybe a little bit too high quality - the Smith G approximation I'm using might be a bit overkill for the viewport, but it's not that complex, and we need something to kill off spec on the back.
Merge pull request #348 from davidsminor/autoInstancingDefaultOn

turning ri:automaticInstancing on by default
Reformatted for style consistency
Merge pull request #352 from danieldresser/linearizeTDLs

TIFFImageReader now checks if the tif is tagged as coming from tdlmake, ...
fixed coordinate system->maya locator crash for coordinate system with no transform
Merge pull request #356 from davidsminor/locatorCrashFix

fixed coordinate system->maya locator crash
Merge pull request #355 from danieldresser/normalizeGlBRDFS

New GLSL Brdfs
bumped version to 9.0.0-a9 and updated Changes file
Added a GIL lock to python object creator wrapper.

Without this, we get crashes if we try to create a Python object via Object::create() from C++, when the calling Python wrapper released the GIL before entering C++. We don't encounter this situation in Cortex so I've been unable to create a test case here, but this is necessary to fix a test case in Gaffer.
Merge pull request #358 from johnhaddon/objectCreatorGILLock

Added a GIL lock to python object creator wrapper.
Fixed TIFFImageReader compilation for GCC 4.2 on OS X.

Converting string constants to char * is deprecated - so we must use const char *.
Added IECoreGL::State::ScopedBinding constructor overload.

This takes a bool indicating whether or not to perform the binding.
Changed IECoreGL::HitRecord::name field from InternedString to GLuint.

The HitRecord is a low level class intended for use with the Selector class which represents names as GLuint, so it makes no sense to use a higher level representation. This will allow the Selector to be used with simple integer names where that is more appropriate. Continuing to use the higher level representation is facilitated by the NameStateComponent nameFromGLName() and glNameFromName() methods.

Binary incompatibilities :

- Changed IECoreGL::HitRecord members
Added IECoreGL::Selector::loadName() overload to auto-generates names.
Removed IECoreGL/TextureUnits.h.

It was completely unnecessary, and served only to illustrate my ignorance of the OpenGL API.
Added python bindings for IECoreGL::CurvesPrimitive.
Added python bindings for IECoreGL smoothing state components.
Added IECoreGL::ToGLStateConverter.

This converts a CompoundObject representing a whole block of attributes directly into an IECoreGL::State object. Its current intended use is in Gaffer, where it will allow us to implement a faster Gaffer->GLScene coupling. This does duplicate some functionality from IECoreGL::Renderer, but we're justifying it by the Gaffer refactor being an important step towards a GL scene graph without an awkward Renderer interface in the way.