Dont rush it

We need a plan.

So, we'll have to use both adjlist_dll and autoarray of edges.
First, we'll run a basic dfs_toposort(), that will make us a
singly-linked list that represents the order in which we will
traverse vertexes and their edges.

Data organization.
So, right now I'm thinking of doing it htis way:
adjlist_dll's list will hold
	in x field: index of adjacent vetrex in adjlist_dll;
	in y field: index of this edge in edges autoarray.
Autoarray of edges will be basically an autoarray of structs:

	struct edge {
		int a;
		int b;
		int weight;
	};

dfs_toposort fills out the .bck field of adjlist_dll as well as forms
a singly-linked list which x field is index of a vertex in adjlist_dll.

does that makes sense to anyone?

Signed-off-by: Andrew Tselischev <andrewtselischev@gmail.com>

Yeah, I'm still thinking about making a blog out of my commit messages.