Fixed serialisation of ExecutableOpHolder.

I'm not entirely sure what was going on, but binding with ParameterisedHolderClass was unecessary because the base class had already bound those methods, and the double binding was causing the wrong setParameterised() overload to be called. The bindings for ExecutableOpHolder now match those for OpHolder, which always worked.
Added dynamic requirement plugs to Executable.

This makes a new plug available each time the last is used, using an ArrayPlug. This also meant fixing a bug in defaultRequirements() whereby a disconnected requirement plug led to an infinite loop.
Additionally did a todo that could have been done in the first place, and fixed Plug flags which were omitting the defaults.
Registered appropriate nodules for Executable nodes.
Merge pull request #512 from johnhaddon/executableImprovements

Executable improvements