Add get_opt to std::vec
std::iter: Introduce .by_ref() adaptor

Creates a wrapper around a mutable reference to the iterator.

This is useful to allow applying iterator adaptors while still
retaining ownership of the original iterator value.

Example::

   let mut xs = range(0, 10);
   // sum the first five values
   let partial_sum = xs.by_ref().take(5).fold(0, |a, b| a + b);
   assert!(partial_sum == 10);
   // xs.next() is now `5`
   assert!(xs.next() == Some(5));
std::rt::uv::net: Handle `read_start` error

cc #9605
std::rt: Add NotConnected to IoErrorKind
rt::io::net::tcp: Fix eof_twice tests on Win32

cc #8811
librustc: Don't ICE on packed structs in statics.
Update test for packed structs to also test being placed in statics.
auto merge of #9608 : hmarr/rust/vec-get-opt, r=huonw

This adds `get_opt` to `std::vec`, which looks up an item by index and returns an `Option`. If the given index is out of range, `None` will be returned, otherwise a `Some`-wrapped item will be returned.

Example use case:

```rust
use std::os;

fn say_hello(name: &str) {
  println(fmt!("Hello, %s", name));
}

fn main(){
  // Try to get the first cmd line arg, but default to "World"
  let args = os::args();
  let default = ~"World";
  say_hello(*args.get_opt(1).unwrap_or(&default));
}
```

If there's an existing way of implementing this pattern that's cleaner, I'll happily close this. I'm also open to naming suggestions (`index_opt`?)
librustc: Combine C_struct and C_packed_struct.
auto merge of #9832 : luqmana/rust/sps, r=alexcrichton

Fixes #9830.
fix typos in doc/tutorial.md
auto merge of #9836 : eriklyon/rust/doc-typos, r=alexcrichton
std::libc: rustdoc indicates reexports now
Make Rustdoc strip private fields

In addition, the renderer will add comments to structs and enums saying
that fields or variants have been stripped.
auto merge of #9843 : sfackler/rust/rustdoc-strip-private, r=alexcrichton

In addition, the renderer will add comments to structs and enums saying
that fields or variants have been stripped.

The comments are currently
```rust
// some fields stripped
// some variants stripped
```

I was thinking of changing that to "some private..." but passes other than
strip-private may strip fields or variants as well.

cc @alexcrichton
extra: implement Encodable/Decodable for Uuid
auto merge of #9844 : bytbox/rust/master, r=alexcrichton
Remove unused abi attributes.

They've been replaced by putting the name on the extern block.

  #[abi = "foo"]

goes to

  extern "foo" { }

Closes #9483.
std::vec: move documentation from impls to traits.

This means the text is visible in rustdoc.
Removing ccdecl

as per https://github.com/mozilla/rust/pull/9606#discussion_r6930872