refactor Constraint abandoning
refactor Constraint abandoning

call Constraint#abandon() instead of marking them and compacting the
external variables

also remove the abandoned Constraint from
ConstrainedVariable._constraints, that did not happen before

psieg/babelsberg-js,babelsberg/babelsberg-js,babelsberg/babelsberg-js,psieg/babelsberg-js,babelsberg/babelsberg-js,psieg/babelsberg-js,babelsberg/babelsberg-js,psieg/babelsberg-js