Fixed type signature of uninhabited method.

Added unit test to prevent similar mistakes from happening again. The
previous method was wrong because it dereferenced a pointer to a void type to
match on the result. No self pointer was needed, and the correct method
signature took the self value by value.
core: Document some intrinsics
fix warnings
Implement sin_cos method for float, f64 and f32
Fix AtomicLoad builder code
auto merge of #6546 : cmr/rust/warning, r=thestinger
auto merge of #6093 : alexcrichton/rust/issue-2647, r=thestinger

Closes #2647

This way it's much easier to add lints throughout compilation correctly, and
functions on impls can alter the way lints are emitted. This involved pretty much rewriting how lints are emitted. Beforehand, only items could alter the lint settings, so whenever a lint was added it had to be associated with whatever item id it was coming from. I removed this (possibly questionably) in favor of just specifying a span and a message when adding a lint. When lint checking comes around, it looks at all the lints and sees which node with attributes best encloses it and uses that level of linting. This means that all consumer code doesn't have to deal with what item things came from (especially because functions on impls aren't items). More details of this can be found in the code (and comments).

As a bonus, I managed to greatly simplify emission of lints in resolve.rs about unused imports. Now instead of it manually tracking what the lint level is, it's all moved over into the lint module (as is to be expected).
auto merge of #6549 : bjz/rust/numeric-traits, r=thestinger

As discussed on issue #4819. This is a naive implementation, trusting LLVM to do the relevant optimizations. In the future this could be implemented more efficiently, but it's a start.
auto merge of #6550 : Aatch/rust/atomic-load, r=thestinger

This closes #6548

The change makes it match the standard Load signature.
auto merge of #6534 : brson/rust/intrinsic-docs, r=bstrie
auto merge of #6442 : sstewartgallus/rust/incoming, r=pcwalton

Added unit test to prevent similar mistakes from happening again. The
previous method was wrong because it dereferenced a pointer to a void type to
match on the result. No self pointer was needed, and the correct method
signature took the self value by value.

I feel silly that I made this mistake in https://github.com/mozilla/rust/pull/6348
rustc: relax limits on (u)int type limit lint. Fixes #6130.
auto merge of #6561 : huonw/rust/rustc-u-int-limit-lint, r=nikomatsakis
Upgrade libuv to fix mac deadlock. #6526
auto merge of #6566 : brson/rust/libuv, r=brson

This cherry-picks a fix from upstream. It also includes another libuv patch that we were running but was accidentally removed in a submodule update.
Some cosmetic changes to num.rs
Made bytes!() accept a list of string, integer or char literals
auto merge of #6569 : Kimundi/rust/ext-bytes, r=erickt

Also snug in some cosmetic changes in num.rs that aren't really important enough for an separate pr.
Remove all usage of the global LLVMContextRef

This allows parallel usage of the rustc library
Have JIT execution take ownership of the LLVMContextRef

Also stop leaking the ExecutionEngine created for jit code by forcibly disposing
of it after the JIT code has finished executing