disconnect control connection which was False

Added testcase: test_disconnect_control_connection_which_was_False
Changes needed to make this test pass:
=> flow.connect() returns the new connection element
=> flow.disconnect() sets the destination to default and checks if it
needs to invalidate the chain behind
=> connector : store the default value, so we can restore it on
disconnect
=> connector : default() added which restores the connector to its
default and tells the caller if this value changed
=> element : flow_control is just one of the input_connectors instead of
a special case
Added a few tests to my TODO list