sl/cont_shape_var: propagate forward all shape vars

... not only the output of container operations
sl/cont_shape_var: propagate forward optimistically

... to nodes with more than one incoming edges and validate
the transitions afterwards.
sl/adt_op_replace: do not remove destructive container operations

... even if their result consists of dead variables only
sl/adt_op_def: create a template for insert_before()
sl/adt_op_match: let matchAnchorHeap() return list of matches
sl/adt_op_match: let matchAnchorHeapCore() return list of mappings
sl/adt_op_match: basic implementation of resolveObjectMapping()
sl/adt_op_match: stop searching if tgtObj is lost
sl/adt_op_def: add support for generic insert_before()