Executable improvements

These improvements are the bare minimum needed to get the ExecutableOpHolder into a state when it can be tested by TDs. They fix a few bugs and add a dynamic ArrayPlug behaviour to the requirements plug.