Keep inferred type annotations.

This fixes a bug that lead to spurious "found wildcard during
evaluation" errors. The constructed term with the wildcards replaced by
inferred type annotations was thrown away, and evaluation continued with
the term from the source file.
Extend argument list syntax (see #66).

Argument lists after lambda and Pi keywords now accept multiple names in
one binder even without parentheses.

Accepted before: lambda (x y z) . lambda (a b : Int) . x
Additionally accepted now: lambda x y z . lambda a b : Int . x
Fix typecheckPush on Const