Graph now allows multiple edges to the same now.  Added some test 
cases for merging nodes.
Reworked Graph and Node structures so that Nodes store the information
about which other Nodes they are connected to.  Merging nodes now works
on graphs with multiple edges between the same node.
Extracted randomized node selection to a RandomNodeSelector class.
Added class for building a graph from an input text file containing
node adjacency information.
Completed assignment 3.