Builtin bounds for closures and traits

* Kind-check closure bounds (a few cases are missing; I think for each one that missing it is conservative rather than unsound).
* Parse, type-check, and 1/2 kind-check trait bounds.

This is pretty much all I can do before a snapshot.

The next step is to change the way boxed traits kind-check, which will involve lifting one restriction in ```kind.rs``` and imposing several others in ```type_contents```. To do that I will need to actually add bounds to traits in unrelated code, which requires them to parse to begin with, which requires a snapshot.

r? @nikomatsakis @pcwalton