returns the add and remove edges
hash correct when adopting, theft-adopting link_collection
function to allow overwriting in the hash complete
overwrite in hash now adds if it doesn't find match
removed the need for the hideous merge function
uniqify arrays in hash working
should be working with no repitition in the final output