auto merge of #6457 : nikomatsakis/rust/issue-6308-closure-bounds, r=brson

Add BuiltinBounds to closure type: parse and handle subtyping,
but do not integrate with kindck etc (requires a snapshot first)

r? @brson
core: Document some intrinsics
Add two tests for rvalue mutability
correct typo
auto merge of #6473 : nikomatsakis/rust/issue-5967-rvalue-immutability, r=pcwalton

Simpler version of PR #5974 based on new borrowck.
auto merge of #6536 : kud1ing/rust/patch-1, r=brson
rustc: Change ty::get_impl_traits to return an option instead of a vec

Impls can implement either zero or one traits; this has been true
more or less since we removed classes. So I got rid of the comments
saying "we should support multiple traits" and changed the code to
make it clear that we don't. This is just cleanup, and doesn't break
any existing tests.
auto merge of #6543 : catamorphism/rust/traits-cleanup, r=nikomatsakis

r? @nikomatsakis Impls can implement either zero or one traits; this has been true
more or less since we removed classes. So I got rid of the comments
saying "we should support multiple traits" and changed the code to
make it clear that we don't. This is just cleanup, and doesn't break
any existing tests.
rustc: One less bad copy
rustc: Remove import that is, indeed, not necessary
auto merge of #6545 : catamorphism/rust/unused-import, r=catamorphism
Add reverse_part, replace each_permutation, add tests
Ensure reverse_part does not access outside given vector
Update to modern rust
iter: add fold, sum and product
fix warnings
auto merge of #6544 : thestinger/rust/new_iter, r=nikomatsakis
Remove each_permutation_ref
Implement sin_cos method for float, f64 and f32
Fix AtomicLoad builder code