fix(emacs/lean-company): use lean-grab-hname for findp auto-completion

fix #214
feat(frontends/lean/parser): allow `_` at level expressions
fix(frontends/lean/inductive_cmd): temporary aliases must take explicit universes into account, fixes #215
feat(kernel/inductive): relaxed rules for defining datatypes with explicit universes, closes #217
feat(frontends/lean): coercion num -> int even when nat is not open, closes #219

I also had to mark the coercions as reducible.
Otherwise, given the constraint

          ?M (int.of_num 0) =?= (int.of_nat (nat.to_nat 0))

the unifier will not generate the solution

          ?M := fun x, x
fix(frontends/lean/pp): pp was not taking into account new namespace name resolution rules, fixes #216
fix(frontends/lean): missing type information for INFO, fixes #218
fix(emacs/lean-server): merge server-trace-mode to debug-mode
feat(library/data/bool): do not use `!` as notation for bnot, rename band/bor -> and/or
feat(frontends/lean): add `!` operator the "dual" of `@`, closes #220
refactor(library): rename namespace eq_ops to eq.ops
refactor(library/data/nat): rename to_nat to of_num
refactor(library/data/nat): use new operator '!'
feat(frontends/lean/elaborator): modify '!' semantics: it stops consuming arguments as soon it finds an argument that does not occur in the rest of the type.
fix(frontends/lean/decl_cmds): allow private transparent definitions

Example:
section
  universe l
  private definition T := Type.{max 1 l}
  ...
end
feat(emacs): highlight Type'
refactor(library): is_inhabited "theorems" should be "definitions", they are "data"
fix(frontends/lean/decl_cmds): remove assertion that does not hold anymore
checkpoint