graph_operations: allow multiple edges

Use dictionary with lists as values, not sets
change graph encoding language

The previous language did not fit enough for genetic algorithm.
Now we don't have minimum number of edges or parents and previous states.