Object optimisations

This optimises `Object::copy()` and `Object::memoryUsage()` for the cases where there is only one reference to the object, in which case we shouldn't need the bookkeeping used to deal with multiple references. It has a pretty dramatic effect for David's benchmark Gaffer scene - knocking almost 40% off the total scene generation time (on top of all the other recent optimisations).

I've just had an idea for eradicating copying entirely in the Gaffer attributes nodes though - I'll report back soon...