Topologicalsort

I've added some more tests. My point of view is tests should help new developers to understand more so I used letters and added more documentation.

I'm not sure why the Algorithm returns Vertices instead of Ids. Is there a reason for this?

The new tests are explicitly written for the
"
* the topologic sorting may be non-unique depending on your edges. this
* algorithm tries to keep the order of vertices as added to the graph in
* this case.
"
which feels 'wrong' as we should not rely on the order.

What do you think?