Major update/rewrite of Graph class.
Sample test for shortest path.