refactor(library/converter): expose is_opaque predicate in the converter interface

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/expr): add O(1) predicates has_expr_metavar and has_univ_metavar

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/unifier): case split on constraints of the form (f ...) =?= (f ...), where f can be unfolded, and there are metavariables in the arguments

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>