First version of ObjectPool class.
Adding python bindings and small fixes.
Binding ObjectPool::memoryUsage as a python function (instead of as a read-only property).
Updating ObjectPool tests for the memoryUsage function.
Adding ComputationCache template class ( based on LRUCache ).
Changing SceneCache to use ComputationCache.

It currently has hard coded limits for the sizes of the ComputationCaches.
It currently returns the objects stored in the cache without copying them as would be required by the interface of SceneInterface. but we are considering changing it to return ConstPtr in this branch.
Changing signature of store function to prevent non-const pointers be passed to it.
Chaning the python bindings for the ObjectPool.retrieve so that we duplicate the object from the cache to return a writable object to python.
Changing SceneInterface/SampledSceneInterface to return ConstPtr for attributes,transforms and objects.
Updating Changes file for next tag 8.0.0-a13.
Changing interface on ObjectPool and ComputationCache set/get store/retrieve.

Reducing the number of accessing functions and adding enums that specify how the pointers are being stored/retrieved instead, following conventions adopted in IndexedIO.
Also providing a means to retrieve the original stored pointer from the ObjectPool, throught the _copy parameter in retrieve().
Just adding some standard doc comments to the class.
reorganizing parameters to avoid weird loop
Added new functions to ComputationCache

Adding erase() for removing one entry in the cache.
Adding objectPool() to provide access to the specific ObjectPool the ComputationCache is using.
Changing the ObjectPool to always require the memory limit as a parameter.
Fixed the failing IECoreGL::ColorTexture test cases.
Added an optional argument to the IECoreGL::ToGLTextureConverter constructor that forces the creation of missing RGB channels rather than just throwing an exception.
Updated the bindings for the above.
Fixed typos.
Added test cases.
Removed the passing of a shared pointer into ToGLTextureConverter::createMissingChannels.
Named the optional argument in the bindings for the above.
Changed the test case to use assertRaises()
Removed IECoreGL dependency on GLUT.

We were only using it to create a context suitable for running the tests and other standalone programs, and it always popped up a window annoyingly.