Hook up typechecker.

This does nothing with the extra information except warn if there's an error
returned by the typechecker (e.g. var not used).

This is the first step towards addressing #7.
Disable reporting of typechecking errors.

These are too noisy right now.

Fixes #57.
Use typechecked information to suppress type inference warning, where possible.

This does not solve false positives in every situation; notably it will
fail to work with multi-file packages; see #43.

Fixes #7.
Permit linting of entire packages.

This gives the typechecker free reign in the open source world.

Fixes #43.
Avoid panic when an ast.Node is in a different file.

Fixes #59.