Fix EZP-21599: content/publish transaction counter error

The beginTransaction() step in the content/publish operation
was left uncommited if a publish/before trigger interrupted
the workflow.

This adds an 'on-interupt' key for the operation
that accepts as an argument a method definition.

commitTransaction() is set as the onInterrupt callback
for the content/publish operation. If the operation is interrupted,
this method will be called, and the transaction will be completed