Adds atomic_load, atomic_load_acq, atomic_store, and atomic_store_rel intrinsics.
The default versions (atomic_load and atomic_store) are sequentially consistent.
The atomic_load_acq intrinsic acquires as described in [1].
The atomic_store_rel intrinsic releases as described in [1].

[1]: http://llvm.org/docs/Atomics.html
Removed unnecessary check from build.rs
doc: document the #[deriving] attribute.

Closes #4916.
auto merge of #6448 : huonw/rust/deriving-doc, r=Aatch

Closes #4916.
Tidy
auto merge of #6437 : Thiez/rust/atomic, r=Aatch

This pull request adds 4 atomic intrinsics to the compiler, in preparation for #5042.

* `atomic_load(src: &int) -> int` performs an atomic sequentially consistent load.
* `atomic_load_acq(src: &int) -> int` performs an atomic acquiring load.
* `atomic_store(dst: &mut int, val: int)` performs an atomic sequentially consistent store.
* `atomic_store_rel(dst: &mut int, val: int)` performs an atomic releasing store.

For more information about the whole acquire/release thing: http://llvm.org/docs/Atomics.html

r?
auto merge of #6443 : cmr/rust/resolution, r=bstrie

When trying to import nonexistent items from existing modules, specify that
that is what happened, rather than just reporting "unresolved name".

Ideally the error would be reported on the span of the import... but I do not see a way to get a span there. Help appreciated :smile:
Update make dependencies of librust
auto merge of #6452 : alexcrichton/rust/fix-deps, r=bstrie

I changed the dependencies of librust in #6438, but I forgot to update the dependencies in the Makefile, this should have the dependencies right now.
Add simple terminfo detection to std::term

This should be sufficient for most systems, and (according to terminfo(5)) is
SysV compliant, so... good enough?