Refactoring - reviewed TaskParent and TaskChild interfaces.

This change introduces no functional changes.
It just removes unused method parameters
and updates javadoc accordingly.
Refactoring userThread flag
cachedDependents optimization
Fixing children add (can be registered with task controller only at EXECUTE_WAIT or EXECUTE state)
fixing generic bug - subtasks may have different result type for executables than parent task
optimizing task controller state machine persistency + updating javadoc