refactor(library/tactic): simplify tactic framework, no more proof builders

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/notation_cmd): allow 'max' to use as a precedence level

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/parser): avoid nontermination

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/notation_cmd): make the notation for setting precedence uniform

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(frontends/lean/token_table): precedence for '@'

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
refactor(library/tactic): simplify proof_state

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(library/tactic): add trick for 'embedding' tactics inside Lean expressions

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): remove build_tactic_cmds, and use expressions for representing tactics

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean): remove build_tactic_cmds, and use expressions for representing tactics