feat(library/data/num): add 'mul' and 'add' for binary numerals
fix(frontends/lean/inductive_cmd): improve name resolution in inductive
command

The new test demonstrates the problem being fixed by this commit
fix(frontends/lean/elaborator): more robust support for coercions to
function-class that contains implicit arguments
refactor(library/logic): move files in classes directory to core
refactor(library): rename algebra directory to struc, move categories.lean to algebra
fix(tests/lean/interactive): adjust test to library reorg
fix(frontends/lean/elaborator): coercion overloading
feat(frontends/lean): split 'opaque_hint' command into 'opaque' and 'transparent'

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(frontends/lean/server): add SYNC command, closes #199
fix(frontends/lean): assertion violations
fix(util/thread): MULTI_THREAD=OFF mode
fix(util): compilation problems when using msys2

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(emacs/lean-type): change where to trigger eldoc

Previously, eldoc is triggered regardless of current position.
Now, it is triggered:

 - *NOT* looking-at whitespace or
 - looking-back end-parens such as ')', '}', ']', etc
send visit when open