auto merge of #8463 : brson/rust/borrowck, r=nmatsakis,nikomatsakis

r? @nikomatsakis
Fix LLVM compilation issues and use the new attrs

This implements #[no_split_stack] and also changes #[fast_ffi] to using the new
"fixedstacksegment" string attribute instead of integer attribute.
auto merge of #8566 : toddaaro/rust/idle-opt+cleaning, r=catamorphism,brson

Instead of a furious storm of idle callbacks we just have one. This is a major performance gain - around 40% on my machine for the ping pong bench.

Also in this PR is a cleanup commit for the scheduler code. Was previously up as a separate PR, but bors load + imminent merge hell led me to roll them together. Was #8549.
Moved .sleep() to Timer.
Prevent Send, Freeze, and Sized from being manually implemented. Close #8517.
Allow traits to use builtin kinds as supertraits for #7083.
Add tests for #7083.
Add more capabilities to typarams bounded by traits with super-builtin-kinds. Close #7083.
Add tests for super-builtin-kind capabilities (#7083)
Fixup style of test cases for #7083
Add assert_once_ever macro. Close #7748. (fixme cf #8472)
auto merge of #8328 : alexcrichton/rust/llvm-head, r=brson

The first commit message is pretty good, but whomever reviews this should probably also at least glance at the changes I made in LLVM. I basically reorganized our pending patch queue to be a bit more organized and clearer in what needs to go where. After this, our queue would be:

* Add the `no-split-stack` attribute
* Add the `fixedstacksegment` attribute
* Add split-stacks for arm android
* Add split-stacks for arm linux
* Add split stacks for mips

Then there's a patch which I added to get rust to build at all on LLVM-head, and I'm not quite sure why it's there, but nothing seems to be crashing for now! (famous last words).

Otherwise, I just updated code to reflect the changes I made in LLVM with the only major change being the advent of the new `no_split_stack` attribute. This is work towards #1226, but someone more familiar with the code should probably actually assign the attribute to the appropriate functions.

Also as a bonus, I've verified that this closes #5774
Allow the Self type to benefit from builtin-kinds-as-supertraits (#7083).
Add tests for self type using builtin kinds. (#7083)
Added home_for_io_with_sched variant. Temporarily making IO unkillable.
auto merge of #8519 : msullivan/rust/objects, r=catamorphism

r?
Add PointerKind to LpDeref
auto merge of #8563 : graydon/rust/2013-08-16-condition-tutorial, r=catamorphism

First cut of a tutorial on conditions.

cc: #6701
small cleanups in task/spawn.rs
Fixed a memory leak caused by the singleton idle callback failing to close correctly. The problem was that the close function requires running inside a callback in the event loop, but we were trying to close the idle watcher after the loop returned from run. The fix was to just call run again to process this callback. There is an additional tweak to move the initialization logic fully into bootstrap, so tasks that do not ever call run do not have problems destructing.