Simple graph implemented w/ unit tests

I believe that this is the default behavior for __eq__ in an object (it checks for identity using the "is" operator). What overriding __eq__ would do for you would be allowing you to say ```return self.value == other.value``` in case you didn't want to end up with two nodes of the same value in your graph.

Also, when specifying __eq__, it's not a bad idea to specify __ne__ as well to make sure you can switch between == and != with impunity.