add join nodes into control flow graph, fix phi compilation
remove `dot_name_prefix`

names in for graphviz nodes are derived from class names
rename dot -> graph
add start/end nodes to control graph
support multiple marks per stack

This is just to document things.  Marking as a means
to keep track of stack changes will be kicked in favor of explicitely
computing the difference between stack snapshots.
agenda update
simplify difference tracking of stacks during compilation

Got rid of the old marking mechanism.  Whenever alternatives
need to be checked for differing stack items, return the indices
of the items that don't match. This also fixes the problems still
present with inlining recursive combinators.