Bugfix for removeAfterUpdate

The ``removeAfterUpdate`` property of a connection is used to make a connection fire only once. The problem is that the current implementation remove the attribute connection for that source/target combination regardless of whether this connection was changed or re-connected during the update.

One solution would be to introduce a new property called ``removeBeforeUpdate`` but this patch implements a simpler approach that uses a flag to check whether a connection needs to be removed or not.