librustc: Remove the fallback to `int` from typechecking.

This breaks a fair amount of code. The typical patterns are:

* `for _ in range(0, 10)`: change to `for _ in range(0u, 10)`;

* `println!("{}", 3)`: change to `println!("{}", 3i)`;

* `[1, 2, 3].len()`: change to `[1i, 2, 3].len()`.

RFC #30. Closes #6023.

[breaking-change]
auto merge of #15026 : pcwalton/rust/remove-int-fallback, r=nikomatsakis

Not yet ready for merge; lots of tests still failing.

This broke very little real code but broke pretty much every test everywhere.

cc @nikomatsakis