Eliminating Committable interface + task controller COMMIT_WAIT & COMMIT phase.
Task cancellation support.
If task is cancelled all its dependents are cancelled, but not its children.

If cancelled task T is entering TERMINATE_WAIT state,
it renounces all its children and forwards parentage to transaction.
Once task T renounced its children it moves to TERMINATE state and
transaction undertakes T's children and their orchestration responsibility.
Transaction.abort() can be called only when transaction is in PREPARED state
Always properly rollback cancelled executing task.
Change Service interface, so that now we have one start method for each trait (executeStart, validateStart, commitStart and rollbackStart), and do the same for stop (executeStop, validateStop, commitStop, and rollbackStop).

Update tests accordingly. RollbackServiceStateTestCase is marked with @Ignore as it presents broken tests and is under review.
Commit and rollback state change only a single time, and only for whichever state change is going to be committed.
Make cycle detection run only for down services