sl/adt_op_meta: do not emit MO_UNSET due to abstraction
sl/adt_op_replace: fix true/false order in crHandleLoc()

... swapped by mistake
sl/adt_op_replace: do not stop on failed independency check
sl/adt_op_replace: support dst accessors in replaceBound()

This is not the best possible solution but we stay on the safe side.
sl/fixed_point_rewrite: drop orphan backward edges in mergeInsns()
sl/fixed_point: hook the tryRemoveDeadBranches() pass
sl/fixed_point: actually implement removeDeadBranch()
sl/fixed_point: let removeDeadBranch() remove the branch insn
sl/cont_shape_var: propagate shape variables forward
sl/cont_shape_var: allow to recover from a missing shape
sl/adt_op_replace: make tryReplaceIter() less strict

We no longer require to iterate on a single variable.
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()