test: control signal true allows execution of subflow

+ refactor test_python_subflow.py to use setUp() for repetitive tasks
+ update TODO list with a few extra tasks
test: control signal false blocks execution of subflow
test: control signal blocked/invalid blocks execution of subflow
more control flow tests for subflow

+ test data signal blocks execution
+ test disconnect control connection which was False
+ test disconnect control connection which was True
+ test invalidate control connection
test & fix 2 calls to run for SubFlow

In the case of a SubFlow, we need to do more work when invalidating an
input connector. We need to also invalidate the internal chain of
elements instead of only the SubFlow's output connectors.
last invalidate related tests for SubFlow
test & fix no double constructor calls

Flow.__init__() called Flow.create_new() twice: once through
Element.__init__() and once directly.
Now there are still 2 calls, but one calls create_new_element(), the
other calls create_new_flow(). The duplicated functionality from
Element.create_new() has been removed from Flow.create_new()