Improved nodes

I took the nodes out of the MinimumRouting class and put them in their
own class.
Nodes: now have an id which is used to draw its label, and is assigned
when the node is created. There are two arraylists in that class. The
first list is for the ids of its neighbours so that it may send its
message to those nodes. The other list (currently holds integers but
should be modified) is for holding messages that it has received in the
past round. There are functions written to use these lists. There is
also a function named executeRound, which may not be needed, but it is
there in case we want to just tell the node to execute its round
(although it would need access to the minimumRouting class.
MinimumRouting: Since the nodes now need to know who their neighbours
are, I added a currentID variable to this class which is incremented
every time a new node is added. There is also a new find node by id
function which does what it sounds like. Since each node knows its
neighbours, I added to the add edge function so that it tells the nodes
that they have a new neighbour.