Move `typeck` logically in the module tree out to the root and clamp
down on its exports. Remove some dead code that is revealed.
Modify libsyntax/diagnostics to not be so persnickety. The scheme
doesn't work in a multi-crate context. We'll need to come up with
something better.
Move typeck into its own crate.
Remove dependencies on driver from trans et al. by moving various
structs out from driver and into other places.