Refactors the graphs so edges are managed with a public EdgeKey.  Also
adds a method to retreive the edge set.