Guide: patterns.

Fixes #4417.
Guide: iterators
Guide: array subscript notation
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
libstd: Add `Fn`/`FnMut`/`FnOnce` to the prelude.

Closes #16600.
Add examples for some StrSlice methods.
doc: grammar fixes
doc: small tasks guide improvements
auto merge of #16615 : pcwalton/rust/unboxed-closures-prelude, r=huonw

Closes #16600.

r? @huonw
auto merge of #16618 : nham/rust/strslice_examples, r=alexcrichton

(By chance, the `contains` example was actually what I was trying to write when I discovered #16589)
auto merge of #16620 : tshepang/rust/tasks, r=steveklabnik
auto merge of #16621 : tshepang/rust/grammar, r=steveklabnik
auto merge of #16257 : steveklabnik/rust/guide_patterns, r=brson

Fixes #4417.
auto merge of #16408 : steveklabnik/rust/guide_iterators, r=brson

An introduction to iterators. I kinda like this, but I kinda don't. Hmmm.
Guide: macros