Improved duplicate detection

Using hash table for faster detection/removal of duplicate edges.
Adding functions that, if given the right inputs, will make node color
change to represent the sub cellular localization data we’ll eventually
be able to get from SUBA. Also includes helpful comments to describe
what else needs to be done, in line 148-150.