Integrate builtin bounds fully into the trait checker
Integrate caching of results. Measurements show approx 90% hit rate.
Move unsafe destructor check from kind.rs into wf.rs
Remove checks that are already being done during typeck
Remove redundant local variable checks.
Move checks for closure bounds out of kind.rs
Remove the last redundant check from kindck, and then remove the pass as well.
Move checking of whether fields are Sized or not into wf / trait code.
Remove as much of TypeContents as I can -- unfortunately, it is still
used by EUV to compute whether a given type moves-by-default.
WIP -- introduce winnowing, refactor how we identify ambiguous candidates
wip -- make commit_candidate ignore ambiguity, that's a higher-level
prob now
WIP
WIP -- use winnowing etc

Conflicts:
	src/librustc/middle/traits/mod.rs
	src/librustc/middle/traits/select.rs
WIP -- work on making evaluation take output types / winnowing into account and
moving to multidispatch