allow to use None as default value

additionally: some refactoring
=> add_input/output_connector() now takes **kwargs argument (necessary
for None as default)
=> create seperate function for default_needs_invaildate()
=> Connector.get_element_title() added to reduce code repetition in
debug prints