Add support for passing an iterable into Nodes.__getitem__

This returns a new Nodes tuple with the nodes corresponding to the
items in the iterable.
Replace built-in graph module with graphlib

Fix #18
Replace setuptools with standard distutils
Add Python 3 support

Fix #17