separated SymbolicUnifier and SymbolicConstraint
do not perform simplification when adding new equalities
changed SymbolicConstraint#equalities to be LinkedHashSet
attempt to fix infinite loop problem in SymbolicConstraint#simplify
temporarily removed unrelated tests
fixed two bugs in SymbolicUnifier#unifyList
minor cleanup
fixed SymbolicConstraint#variableSet because it's still immutable
enforced order-sorted condition in SymbolicConstraint#substitution
fixed smt_set_mem declarations
fixed ConstrainedTerm#variableSet
fixed unevaluated functions introduced in earlier refactoring
minor refactoring
simplified SymbolicConstraint#isMatching since the validity of each single substitution is enforce elsewhere
removed unnecessary termContext argument
Revert "temporarily removed unrelated tests"

This reverts commit a37736f1acb27e7db4ab205d33b7561f6dd6e084.
updated regex to fixed failing test
Merge branch 'master' into cleanup-ml-prover-4

Conflicts:
	java-backend/src/main/java/org/kframework/backend/java/symbolic/SymbolicUnifier.java
fixed operations andThenBool and orElseBool
fix erroneous stack trace