Split PipelineController.Actions into code files for each action class.
Undo/Redo menu items are always in the correct 'Enabled' state. Previously they were only getting updated when an UpdateMenus call was triggered, which is much less frequent than we require.
Moved ActionStack declaration to within PipelineProject, it is only intended to be used by PipelineController not to be part of the public API.
ActionStack.Add(action) no longer calls action.Do, if the caller wants it can call Do prior to the Add.
Implemented Undo/Redo for ContentItem modifications (done through the property grid).