Only process signals created by an operation after execution is complete

Delaying signal emitting until after the operation completes ensures the operation cannot be accidentally interrupted by an external consumer of an event.

In addition dear reviewer, subscriber exceptions when emitting queued signals are now caught and simply logged (rather than rethrown). **This is a behavioural change from master.** The assumption here is that consumers of signals should NOT cause the processing of an operation to fail (e.g., if a UI binding goes bad).

# Local testing performed
* checked text editing, selection & undo/redo work in src-localeditor.html
* ensured document still loads in src viewer
* checked split screen editing still updates and sends edits.
Hm, in the webodf code noone will listen to the signals `ops.OdtDocument.signalStepsInserted` and `ops.OdtDocument.signalStepsRemoved` afterwards (unless I fail to grep properly).

So unless there is reason for 3rd-party to learn about these events (cannot think of one) I would propose to remove these signals completely.