Add a boatload of Linux x86/x86-64/arm errnos
Relax some atomic barriers. Loosen up all that tension. There, doesn't that feel good?
Document task killing design and relaxed barrier rationale.
Make a forgotten assert in comm be cfg(test)-dependent
Temporary workaround to prevent taskgroup cleanup code from failing without an exception handler.
str: Add method .into_owned(self) -> ~str to Str

The method .into_owned() is meant to be used as an optimization when you
need to get a ~str from a Str, but don't want to unnecessarily copy it
if it's already a ~str.

This is meant to ease functions that look like

  fn foo<S: Str>(strs: &[S])

Previously they could work with the strings as slices using .as_slice(),
but producing ~str required copying the string, even if the vector
turned out be a &[~str] already.
Make crate tests depend on their extern crates.  Reorder TEST_HOST_CRATES in hopes of exposing future instances of this bug.
Replace 'blk' -> 'block' in AstBuilder.

I didn't rename variables because they are local and are not parts of
the public interfaces.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
Fix calling destructor on uninitialized dynamic library crash.

A test case was also created for this situation to prevent the problem
occuring again.

A similar problem was also fixed for the symbol method.

There was some minor code cleanup.
std: Implement SingleThreaded spawn mode for newsched
auto merge of #8193 : cmr/rust/linux-errno, r=graydon
auto merge of #8195 : bblum/rust/task-cleanup, r=brson

In the first commit it is obvious why some of the barriers can be changed to ```Relaxed```, but it is not as obvious for the once I changed in ```kill.rs```. The rationale for those is documented as part of the documenting commit.

Also the last commit is a temporary hack to prevent kill signals from being received in taskgroup cleanup code, which could be fixed in a more principled way once the old runtime is gone.
auto merge of #8202 : pnkfelix/rust/fsk-issue8056-make-crates-must-dep-on-subcrates, r=graydon

Reorder TEST_HOST_CRATES in hopes of exposing future instances of this bug.

Fix #8056
auto merge of #8221 : brson/rust/single-threaded, r=graydon

This is the last major runtime feature needed for the transition to the new scheduler.
Add SendDeferred trait and use it to fix #8214.
Fix nasty double-free bug where a newrt chan could get killed after rescheduling but before suppressing_finalize.
Fix embarrassing bug where 'unkillable' would unwind improperly when it receives a kill signal.
(cleanup) Use more do...finally in extra::sync.
Don't fail from kill signals if already unwinding.
Add an assert_may_sleep() check on every context switch.