Remove links to transfer node when node removed
Remove links to transfer node when node removed

In several situations a Transfer Node can be deleted. This happens when
the transfer link is no longer valid, specifically:

1. Deleting a transfer link's source or target
2. Changing the source or target from a collector to a variable
3. Changing the relationship from Transfer to something else
4. Manually deleting the link

Previously, there may have been additional links to or from the transfer
node, and when the transfer node was deleted these links were not deleted.
This caused errors in each of the four situations above.

Now we

1. Ensure we always delete transfer nodes only using the `_removeTransfer`
function, which does step 2
2. Go through and remove any links attached to a deleted transfer node
3. Wrap commands that may delete transfer nodes in commandBatches, so that
a single undo/redo will undo or redo the entire action (this is not needed
for deleting nodes or deleting the link from the UI, as these actions are
already wrapped in commandBatched)
concord-consortium/building-models,concord-consortium/building-models,concord-consortium/building-models,concord-consortium/building-models,concord-consortium/building-models