Split edge from graph implemententions(extensions)

This way we could :refer :all and ease the testing.
Test the extension of clojure.lang.PersistentVector with Edge
Test the extension of clojure.lang.PersistentVector with WeightedEdge
Fix the implementation of the weight function