feat(model_theory/syntax, semantics): Substitution of variables in terms and formulas (#13632)
Defines `first_order.language.term.subst` and `first_order.language.bounded_formula.subst`, which substitute free variables in terms and formulas with terms.