feat(frontends/lean): uniform unsolved goals "error" position
fix(frontends/lean/builtin_exprs): error position
feat(frontends/lean/builtin_exprs): tolerate dangling ',' in begin-end block

This is useful when debugging proofs.
fix(frontends/lean/builtin_tactics): adjust tactics precedence
refactor(library/tactic): move apply_tactic initialization to apply_tactic module
refactor(library/tactic): move rename_tactic to separate module
refactor(library/tactic): move intros_tactic initialization to intros_tactic module
fix(frontends/lean/pp): avoid parentheses around atomic notation
feat(frontends/lean): change default precedence to 1
refactor(library): remove unnecessary `:max` hack in notation declarations

This hack is not needed anymore.

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