fix(frontends/lean/calc): add expected type for single-step calc expressions, fixes #357

This is not an issue for calc expressions containing multiple steps,
since the transitivity step will "force" the expected type for the proofs.
fix(frontends/lean/parser): user provided numeral notation should have precedence over the default based on 'num'
feat(frontends/lean): allow expressions to be used to define precedence, closes #335
refactor(library): use "symbolic" precedences in the standard library