Fixed serialization bug with extra plugs on references

The reference nodes we use in production have an extra "__jabuka" CompoundPlug on them, with a bunch of children containing asset info. The children's names aren't prefixed by a double underscore, so Reference::isReferencePlug thinks they're referenced, and wipes out their Plug::Dynamic flag when we reload a reference. This means the node's asset tracking info gets destoyed when the reference gets reloaded and we load/save the file. I've fixed this by classifying descendants of a CompoundPlug with a double underscore in its name as non referenced.
Dispatcher::frameRange() is now public and virtual.

Compatibility break
	- new virtual function on Dispatcher
Merge pull request #1080 from andrewkaufman/frameRangeOverride

Dispatcher::frameRange() is now public and virtual.
changed plug flags in unit test
Handling the nested compound plug case
preventing update error for deleted display node
Merge pull request #1079 from davidsminor/dynamicCompoundPlugsOnRefs

Fixed serialization bug with extra plugs on references
Merge pull request #1082 from davidsminor/displayUpdateOnDeletedNode

preventing update error for deleted display node
Preventing OIIO error overflow crash

ImageView::enabled() checks for valid files using ImageCache::imagespec(), which appends to an error message buffer when it encounters an invalid file. The function gets called by the hash() method, and therefore gets called loads of times, meaning a lot of errors can get added to the buffer very quickly in some situations. If the error buffer exceeds 16mb in size, this triggers an assertion failure, which can crash the application. I've prevented this by calling ImageCache::geterror() on failure so the buffer gets cleared.
Adding support for icons in menus
Merge pull request #1085 from davidsminor/imageReaderErrorOverflow

Preventing OIIO error overflow crash
Added support for gaffer image as source of the icon
Merge pull request #1086 from paulondc/MenuIconSupport

Support for icons in menus
Update Changes
updated changes, bumped version to 0.5.0.0
Fixed bug in StandardGraphLayout node insertion code.

The bug appears to have been exposed by the introduction of the internal pass-through connections in the recent GafferScene optimisations. The test necessary to skip the target node when considering insertion targets existed only in the "make the connections" loop, and not in the "can we make the connections loop?". Moving all the tests into only one loop avoids duplicating them and helps ensure similar bugs won't creep in later on.
fixed threading bug where the scene procedural's allRenderedSignal() could get called more than once
reverted to atomic<int> approach, with an atomic decrement and check instead. Also mutexed the allRendered signal call
Merge pull request #1088 from davidsminor/allRenderedSignalFix

fixed scene procedural's allRenderedSignal() threading bug
Update Changes