Add DirectedAcyclicGraph constructor that takes an EdgeFactory. Ref: #88