changes in class graph and tracenode

-in class Tracenode:
add new attribute "depth"
-in class Graph:
change methods optimize, evaluate,write_c_code using the new attribute
"depth",
in method write_c_code: use a map to map the id of nodes in the
unoptimized graph to new "fake-ids", so that in the c code of optimized
graphs there is not allocated more memory than actually needed...