typing: check correct usage of top-level methods

First, the body of top-level methods has two constraints:
 * no explicit self
 * implicit self can only call other top-level methods

Second, only self can invoke top-level methods.
Eg. no `6.print("hello")`

Signed-off-by: Jean Privat <jean@pryen.org>
tests: add error_toplevel.nit

and fix sav/error_expr_not_ok_alt4.res

Signed-off-by: Jean Privat <jean@pryen.org>