Rewrote tons and tons of code to make the directed graph work with the directed types class and the new iterators library. Doesn't really do anything just yet.