fixing builder design pattern + adding dependencies null check
All transaction methods prepare(), commit() & rollback() can be called only once
additional test scenarios - ommiting transaction.prepare method call
adding empty transaction tests
introducing utility methods for test setup & tearDown
eliminating good-for-nothing PREPARE_UNDOING transaction state
refactoring abstract test class to util package
first transition test and failing
renaming transition NEW_to_CANCELLED -> NEW_to_TERMINATED
Fixing TaskControllerImpl cancellation issue:
 * removing FLAG_CANCEL_REQ check from execCancelled() - the flag is never set when Executable.cancelled() is called
enhancing transitions test case
decrement unfinishedChildren & unvalidatedChildren too on child termination