Make LabeledEdge[V, EL] covariant on V and EL.

Hence LabeledEdge[A, C] is a super class of LabeledEdge[B, D] if A is a super class of B and C is
a super class of D.
[0.3.6] Added method for to remove an instance of an edge.

Previously, edges could be only removed based on the origin and destination
which was problematic for multigraphs.
Merge branch 'master' of github.com:planstack/graph