Fixed bug in Reference node menu item.

It hadn't been updated when ViewportGadget ceased to be derived from IndividualContainer.
Simplified Dispatcher implementations by providing doDispatch with the unique task list.
Dispatchers now require that all nodes belong to the same ScriptNode.
Added Frame Range options to Dispatcher.

Dispatcher generates its tasks by looping over the frame range provided. Derived classes will recieve TaskDescriptions which have already accounted for the frame range.
Added repeat parameter to test app.

When trying to track down hard-to-reproduce problems, it can be mighty handy to repeat the unit tests automatically.
Made uniqueTasks private
Removed unneccessary uses of IECore.curry
Renamed obscure test parameter and added todo to make test a bit cleaner.
Fully copying Contexts in the unit test.
Added todo to simplify DispatcherUI framesMode
Fixed ExecutableTest now that uniqueTasks is private.

Task uniqueness is tested by DisaptcherTest anyways.
Dispatcher plugs are serialisable.
Merge pull request #884 from andrewkaufman/dispatchFrameRange

Dispatcher Frame Ranges