When transaction task is terminated, decrease both unfinished and unvalidated children:
 * the main purpose of this fix is transaction state machine simplicity (when deciding about transaction transitions)
 * it is possible that either unfinishedChildren or unvalidatedChildren will hold negative values, but this is not violating correctness of transaction state machine transitions

Possible scenarios with negative values:

Scenario 1: (transaction has 2 tasks both cancelling at different state => unfinishedChildren == -1)
 * task1 registered with transaction (unfinishedChildren == 1)
 * task2 registered with transaction (unfinishedChildren == 2)
 * task1 cancels at EXECUTE state => it moves to TERMINATED state and notifies transaction => unfinishedChildren == 1
 * task2 enters EXECUTE_DONE state => it notifies transaction => unfinishedChildren == 0
 * transaction moves from ACTIVE to PREPARING phase
 * taks2 cancels at VALIDATE state => it moves to TERMINATED state and notifies transaction => unfinishedChildren == -1

Scenario 2: (transaction has 2 tasks both cancelling at VALIDATE state => unfinishedChildren == -2)
 * task1 registered with transaction (unfinishedChildren == 1)
 * task2 registered with transaction (unfinishedChildren == 2)
 * task1 enters EXECUTE_DONE state => it notifies transaction => unfinishedChildren == 1
 * task2 enters EXECUTE_DONE state => it notifies transaction => unfinishedChildren == 0
 * transaction moves from ACTIVE to PREPARING phase
 * taks1 cancels at VALIDATE state => it moves to TERMINATED state and notifies transaction => unfinishedChildren == -1
 * taks2 cancels at VALIDATE state => it moves to TERMINATED state and notifies transaction => unfinishedChildren == -2

Similar scenario3 and scenario4 can be constructed for unvalidatedChildren when either one task or both tasks terminate at VALIDATE_DONE state.
(Task can be cancelled at VALIDATE_DONE state if cancel request have been sent from its dependency on rollback- see previous commit)

Anyway the transaction movements from ACTIVE -> PREPARING -> PREPARED are not affected by this tricky fix.