Add example of estimating pi using Monte Carlo simulation to std::rand
Remove the dist function; it is more efficient to compare squared distances
Guide: patterns.

Fixes #4417.
Guide: iterators
Guide: array subscript notation
Guide: ownership
librustc: Fix field offsets for packed structs.
Add test for passing/getting packed structs with ffi.
A few minor documentation fixes
Rename Nullable::Some to Nullable::NotNull
serialize: add json::{Integer,Floating} to parse large integers properly

[breaking-change]
Cargo begins version number at 0.0.1 instead of 0.1.0
Cargo generates "Hello, world!" instead of "Hello world!"
`input_num` is used is used instead of `guess` further in the guide
Use new Cargo file syntax
Use new Cargo starting version number
Remove repeated section and make file path generic
Fix double evaluation of read+write operands

Stop read+write expressions from expanding into two occurences
in the AST. Add a bool to indicate whether an operand in output
position if read+write or not.

Fixes #14936
auto merge of #16241 : P1start/rust/doc-fixes, r=alexcrichton

For crates `alloc`–`collections`. This is mostly just updating a few function/method descriptions to use the indicative style. 

cc #4361; I’ve sort of assumed that the third-person indicative style has been decided on, but I could update this to use the imperative style if that’s preferred, or even update this to remove all function-style-related changes. (I think that standardising on one thing, even if it’s not the ‘best’ option, is still better than having no standard at all.) The indicative style seems to be more common in the Rust standard library at the moment, especially in the newer modules (e.g. `collections::vec`), more popular in the discussion about it, and also more popular amongst other languages (see https://github.com/rust-lang/rust/issues/4361#issuecomment-33470215).
Add fix for test on windows.