Updated getIncidentEdges to allow for an arbitrary number of vertices.
Only edges that are incident to all provided vertices are returned.
Separated Tree out into an interface and provided a default
implementation