Plug a gap in scripts not emitting a finished signal.

Refs #10400
Merge remote-tracking branch 'remotes/origin/bugfix/10400_script_editor_uneditable' into feature/10803_DirectInelasticPack
Re #10836 Tests which outline and illustrate the behavior desired
Re #10836 A bit more testing of the concept
Re #10836 something broken
Re #10836 fixed something but not all
Re #108336 fixed descriptors dictionary
Re #10836 Changes outlined
Re #10836 Fixed most of the stuff
Re #10836 Changed update from instrument function
Re #10836 further test fixing
Re #10836 Further fixing tests
Re #10836 Proper accessor to descriptors
Re #10836 Minor test for descriptor accessing
Re #10836 Comments and removed redundant code
Re #10836 Refactored RestoreParamFromInstrument
Re #10838 fixed old approach to update_defaults_from_instrument

but it is still too complicated
Re #10836 Simplified update_defaults_from_instrument and it works

much simple and better then the previous complex solution
Re #10836 Comments and some clean-up for the code
Re #10836 minor bug in HardMaskOnly implementation